home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Latest Shareware Programs: Warp
/
OS-2 WARP - Latest Shareware Programs.iso
/
zipped.os2
/
treiber.1
/
dvi15f-1.arj
/
DVIDRV.DOC
< prev
next >
Wrap
Text File
|
1994-09-14
|
219KB
|
5,998 lines
==============================================================================
DVIDRV 1.5f BETATEST VERSION: 14-Sep-1994
==============================================================================
Table of Contents
=================
1 Introduction
2 Running the drivers
2.1 Using the batch files
2.2 Using dvidrv.exe (DOS only)
2.3 Getting help for the calling sequence
2.4 Printing or viewing a DVI file
3 Using options
3.1 Options for message output
3.1.1 Getting a list of the options
3.1.2 Setting the verbosity level
3.2 Options for page selection
3.2.1 Selecting sides by page number
3.2.2 Double-sided printing
3.2.3 Selecting sides by side index
3.2.4 Selecting the order of the sheets
3.2.5 Printing multiple copies
3.3 Managing fonts and graphics files
3.3.1 Handling missing fonts and graphics files
3.3.2 Scaling fonts
3.3.3 Font size tolerance
3.3.4 Initial loading of fonts
3.3.5 Rounding character positions
3.3.6 Generating fonts automatically
3.4 Side layout options
3.4.1 Specifying the paper size
3.4.2 Transformation (orientation)
3.4.3 Moving the output on the sheet
3.5 Producing booklets and books, n-up printing
3.5.1 Defining the locations of the pages on a sheet
3.5.2 Arranging the pages
3.5.3 Special effects
3.5.4 Examples
3.6 Magnification and resolution
3.6.1 Setting the resolution
3.6.2 Setting the magnification
3.7 Directory and file name options
3.7.1 Search paths
3.7.2 Input files
3.7.3 Output files
3.8 Miscellaneous options
3.8.1 Meta options
3.8.2 Memory management
3.9 Additional options for dviscr and dvivik
3.9.1 Configuration
3.10 Additional options for dvipm
3.10.1 Configuration
3.11 Additional options for dvidot when printing on a dot matrix printer
3.11.1 Options for all parameter files
3.11.2 Options for all parameter files but itoh.dot and aiw.dot
3.11.3 Options for the parameter files itoh.dot and aiw.dot
3.12 Additional options for dvidot when generating graphics files
3.12.1 Controlling the bitmap file
3.13 Additional options for dvihplj
3.13.1 General options
3.13.2 Selecting the printer model
3.13.3 Using additional features of a printer
3.13.4 Solving compatibility problems
3.14 An introduction to templates
3.14.1 The simplest example of a template -- a constant template
3.14.2 A simple example of a template
3.14.3 Template parameters
3.14.4 Forming multiple expansions with a list
3.14.5 Forming multiple expansions with alternatives
3.14.6 Multiple sets of alternatives
3.14.7 Environment variables
3.14.8 The emTeX directory ($EMTEX:)
3.14.9 Template parameter modifiers
3.14.10 Default extension
3.14.11 Summary
3.14.12 Further examples
4 Managing fonts
4.1 Specifying font size (resolution)
4.2 Font substitution file format
4.2.1 Substitution with and without batch mode
4.2.2 Rule lines
4.2.3 Options in font substitution rules
4.2.4 Matching font names
4.2.5 Using built-in printer fonts
4.2.6 Example
4.3 Font search rules
4.4 Generating missing fonts automatically with MFjob and METAFONT
4.5 Using built-in printer fonts
5 Using dviscr and dvivik
5.1 Keyboard functions for dviscr and dvivik
5.2 Entering numbers
5.3 Understanding the status line
6 \special
7 Miscellaneous topics
7.1 General notes
7.2 Output with the +verbosity:4 option
7.2.1 dvihplj
7.2.2 All drivers
7.3 Return codes (ERRORLEVEL)
7.4 Known bugs
8 Installation of the printer drivers and the screen previewers
9 Explanation of warning and error messages
9.1 Warning messages
9.2 Fatal errors (2xxx)
9.3 Internal errors (3xxx)
10 History
1 Introduction
==============
The dvidrv drivers output DVI files to a printer or to the screen.
DVI files are created by TeX, for instance.
The drivers run under OS/2 1.x, OS/2 2.x, MS-DOS and PC-DOS (2.1 or
later) on IBM PC compatible computers. At least 512 KB of memory is
required under DOS.
You'll find installation instructions in section 8.
The dvidrv family includes the following drivers:
dviscr screen previewer for CGA, EGA, VGA, HGC, 8514/A, and other
adapters
dvivik screen previewer for Viking I, cannot be used under OS/2
dvipm screen previewer for the Presentation Manager (OS/2 1.2 or
later)
dvihplj
printer driver for PCL printers such as HP LaserJet+, HP
DeskJet, HP PaintJet, HP QuietJet, HP ThinkJet, and Kyocera
F-1010. The HP LaserJet classic is not supported.
dvidot printer driver for dot matrix printers and for creating
graphics files. This driver can be configured for many dot
matrix printers (including dot impact printers, laser printers
and ink jet printers). Moreover, it can create graphics files
in various formats.
The following dvidot parameter files for printing on dot matrix
printers are supplied:
Parameter │ Printers │Resolution │ Environ. │+font-files
file │ (incomplete list) │ h x v DPI │ variable │default (*)
──────────┼────────────────────────────┼───────────┼──────────┼───────────
fx80 │ EPSON FX and RX series │ 240x216 │ DVIFX │ fx
fx80l │ EPSON FX and RX series │ 120x72 │ DVIFX │ fx
fx100 │ EPSON FX and RX series │ 240x216 │ DVIFX │ fx
fx100l │ EPSON FX and RX series │ 120x72 │ DVIFX │ fx
lql │ EPSON LQ series │ 180x180 │ DVILQL │ p6l
lqm │ EPSON LQ series │ 360x180 │ DVILQM │ p6m
lqh │ EPSON LQ series │ 360x360 │ DVILQH │ p6h
lqwl │ EPSON LQ series (wide) │ 180x180 │ DVILQL │ p6l
lqwm │ EPSON LQ series (wide) │ 360x180 │ DVILQM │ p6m
lqwh │ EPSON LQ series (wide) │ 360x360 │ DVILQH │ p6h
sty800 │ EPSON Stylus 800 │ 360x360 │ DVISTY │ p6h
p6l │ NEC P6, Panasonic KX-P1124 │ 180x180 │ DVIP6L │ p6l
p6m │ NEC P6, Panasonic KX-P1124 │ 360x180 │ DVIP6M │ p6m
p6h │ NEC P6, Panasonic KX-P1124 │ 360x360 │ DVIP6H │ p6h
p7l │ NEC P7 │ 180x180 │ DVIP6L │ p6l
p7m │ NEC P7 │ 360x180 │ DVIP6M │ p6m
p7h │ NEC P7 │ 360x360 │ DVIP6H │ p6h
itoh │ C.ITOH 8510A │ 160x144 │ DVIITOH │ ito
aiw │ Apple Imagewriter │ 160x144 │ DVIAIW │ aiw
dmp130 │ Tandy DMP-130 │ 240x216 │ DVIDMP │ fx
ibm4201 │ IBM Proprinter 4201 │ 240x216 │ DVI4201 │ fx
ibm4202 │ IBM Proprinter 4202 │ 240x216 │ DVI4202 │ fx
ibm4207l │ IBM Proprinter 4207 │ 180x180 │ DVI4207L │ p6l
ibm4207m │ IBM Proprinter 4207 │ 360x180 │ DVI4207M │ p6m
ibm4208l │ IBM Proprinter 4208 │ 180x180 │ DVI4208L │ p6l
ibm4208m │ IBM Proprinter 4208 │ 360x180 │ DVI4208M │ p6m
bj10eh │ Canon Bubble Jet BJ-10e │ 360x360 │ DVIBJH │ bj
bj300h │ Canon Bubble Jet BJ300 │ 360x360 │ DVIBJH │ bj
(*) Due to space restrictions, this column shows only
part of the +font-files default setting. If this
column contains *, the complete default setting is
\texfonts\pixel.*\@Rrdpi\@f{.pk,.pxl}.
The IBM Proprinter type 4207 and 4208 must be set to AGM (see the
printer user's manual).
Not all printers of the EPSON LQ series support 360x360 DPI (lqh.dot
and lqwh.dot). For instance, there are two variants of the LQ-850,
only one of which supports 360x360 DPI.
The following dvidot parameter files for creating graphics files are
supplied:
Parameter │ │ Default
file │ Graphics file format │ extension
──────────┼────────────────────────────────────────────────────┼──────────
msp1 │ Old MSP format (Microsoft Paint of Windows 1.x) │ msp
msp2 │ Newer MSP format (Microsoft Paint of Windows 2.x) │ msp
pcx │ PCX format (Paintbrush) │ pcx
bmpos2 │ BMP format (OS/2 1.1) │ bmp
bmpwin │ BMP format (Windows 3.x) │ bmp
The default resolution is 300x300 DPI, the default name of the envi-
ronment variable is DVIBMP, the default value for the +font-files op-
tion is \texfonts\pixel.lj\@Rrdpi\@f{.pk,.pxl}. The default extension
given in the table applies to the output file.
Additional parameter files can be easily constructed -- see
makedot.doc.
If memory in real mode (DOS) is short, dviscrs.exe should be used
instead of dviscr.exe -- you can rename dviscrs.exe only if it is run
under DOS 3.0 or later. This version runs in real mode only, needs
less memory and is somewhat slower. Otherwise it behaves exactly
like dviscr -- for instance, @d in templates will be replaced with
`dviscr'.
When using OS/2 1.x, you must run dvipm16.exe (or dvipm167.exe to
take advantage of the numeric coprocessor if you have one) instead of
dvipm.exe.
2 Running the drivers
=====================
Usually, you run a DVI driver by invoking one of the batch files
supplied with the drivers.
2.1 Using the batch files
-------------------------
The following batch files for running the drivers are provided:
v prtlql prtp6l prthplj prtfx pcxfx pcxp6l
vs prtlqm prtp6m prthpljh prtfxl pcxito pcxp6m
vp prtlqh prtp6h prtitoh prtsty pcxlj pcxp6h
Below, the commands used by those batch files are explained. The
batch files v, vs and vp are called with on argument: the name of the
DVI file. The other batch files are called with two arguments: the
name of the DVI file and the name of the output file. The name of the
output file can be omitted, the drivers will then use the default out-
put file name set with the +default-output-file option, for instance
the printer port LPT1. Additionally, you can enter command line op-
tions as arguments.
The batch files use the following environment variables:
DVIDRVINPUT
Search path for DVI files.
DVIDRVFONTS
Search path for FLI files.
DVIDRVGRAPH
Search path for graphics files.
For instance, you can set the environment variables like this:
set dvidrvinput=c:\mytex;c:\emtex\doc;c:\emtex\doc\english
set dvidrvfonts=c:\texfonts
set dvidrvgraph=c:\mytex;c:\emtex\doc
In this example, DVI files and graphics files will be sought in \mytex
in addition to the emTeX directories. Font files and font library
files will be sought in c:\texfonts.
Note that the environment variables should not contain whitespace.
When using `Cut & Paste' blanks may sneak in at the end of the lines.
If you don't want to set these environment variables, you should in-
sert the path names into the configuration files (or preferably into
copies of the configuration files).
The batch files use configuration files for setting the options.
You can also use those configuration files on the command line of a
driver to use different fonts. The following configuration files are
available for selecting fonts:
File name │ Resolution │ Fonts │ Font resolution
─────────────┼────────────┼───────┼────────────────
bj.cnf │ 360 │ BJ │ 360
fax.cnf │ 204x196 │ FAX │ 204x196
fx.cnf │ 240x216 │ FX │ 240x216
ito.cnf │ 160x144 │ ITO │ 160x144
lj.cnf │ 300 │ LJ │ 300
ljh.cnf │ 600 │ LJH │ 600
mxl_fx.cnf │ 120x72 │ FX │ 240x216
p6h.cnf │ 360 │ P6H │ 360
p6l.cnf │ 180 │ P6L │ 180
p6l_p6h.cnf *│ 180 │ P6H │ 360
p6l_p6m.cnf *│ 180 │ P6M │ 360x180
p6m.cnf │ 360x180 │ P6M │ 360x180
p6m_p6h.cnf *│ 360x180 │ P6H │ 360
The configuration files marked with * use scaled fonts, see
+font-scaling.
To call dviscr with P6L fonts, type
v @p6l.cnf <filename>
or replace @lj.cnf with @p6l.cnf in v.bat (OS/2: v.cmd).
2.2 Using dvidrv.exe (DOS only)
-------------------------------
The dvidrv program calls the driver program and -- if required --
MFjob to generate missing fonts:
dvidrv <driver> <driver-arguments>
The dvidrv program creates a temporary file for the MFjob commands and
runs the driver program given on the command line. If missing fonts
are to be generated, MFjob will be called, then again the driver.
Finally, the temporary file will be deleted. The dvidrv program is
required under DOS only. Under OS/2, the drivers directly call MFjob
(unless +call-mfjob:off is set).
See +metafont-mode and +mfjob-file and section 4.4, `Generating
missing fonts automatically with MFjob and METAFONT' for details.
2.3 Getting help for the calling sequence
-----------------------------------------
To get a list of the more common options, type ? on the command line,
for example:
dvihplj ?
To get a list of all the options, type ?? instead of ?.
2.4 Printing or viewing a DVI file
----------------------------------
On the command line, you can enter the input file name, options and --
for the printer drivers -- the output file name:
dviscr [options] input-file [options]
dvivik [options] input-file [options]
dvipm [options] input-file [options]
dvihplj [options] input-file [options] output-file [options]
dvidot parameter-file [options] input-file [options] output-file [options]
If arguments are omitted the program will prompt for them (cf. the
+options option.) except that dvidot must always have the parameter
file name on the command line. More than one argument may be entered
at each prompt, these arguments will be interpreted as if they had
been entered on the command line.
When using dvipm, you can enter the name of the input file and the op-
tions in dialog boxes if you don't give a file name on the command
line. In this case, you can change the options. After changing the
options, you can open the DVI file. After opening the DVI file, you
can't change the options until you choose File->New. Moreover, you
can use drag & drop under OS/2 1.3 and later to open a DVI file.
You'll find further information about dvipm in the on-line help
(select the Help menu or press F1). The language used for the on-line
help can be changed with the Language selection of the Help menu. You
can choose English or German help.
dvidot expects to find the dvidot parameter files (the default exten-
sion is DOT) in the `data' subdirectory of the emTeX directory, which
defined is by the EMTEXDIR environment variable. If EMTEXDIR is not
set, dvidot will use `\emtex\data' for the parameter file. The name
of the parameter file MUST be given on the command line and must be
the first argument.
For dvidot with a parameter file for creating graphics files, the de-
fault extension for output files is MSP, PCX or BMP, depending on the
parameter file. dvidot with a parameter file for a dot matrix printer
and all the other drivers have no default. The output filename can be
a DOS device name like PRN, LPT2, COM2 if required -- though not when
creating a graphics file, of course. See also the +xon-xoff option.
If the output is sent to a file then the file can be printed with
COPY /B file PRN
The `/b' option is important as otherwise the copy will terminate at
the first Control-Z byte encountered.
Under OS/2 a hyphen can be used as the output file name, output will
be sent to stdout and can be piped into another program. Output to
stdout does not work when creating a graphics file with dvidot.
Usually, dvidot with a parameter file for creating graphics files
creates only one graphics file, containing the first selected side.
Multiple graphics files (one for each side) can be created with one
dvidot run by using one or more (consecutive) `?' in the output file
name. The question marks will be replaced by a number (with leading
zeros): 1 for the first side, 2 for the second, and so on. If there's
one `?', up to 9 graphics files will be created, if there are two `?',
up to 99 graphics files will be created, and so on. Example:
dvidrv dvidot pcx @lj.cnf mytext page??
creates the graphics files page01.pcx to (at most) page99.pcx.
When entering the options in response to a driver prompt the `-' or
`/', which is required on the command line, need not be entered; `+',
however, must be entered.
An input filename, output filename or option can be replaced by
@response-file. This will cause the lines in the response file to be
read and interpreted at this point after which interpretation of the
command line will continue. The response file line length may not
exceed 127 characters. An example:
dvidrv dvidot fx80 @fx.cnf test prn
The arguments in fx.cnf will be processed first and then the file
test.dvi will be printed with the output going to the device PRN.
@response-file can be entered at a program prompt as well as on the
command line. The directories to be searched for response files can
be set with the +response-files option; the normal searching sequence
starts with the current directory and finally searches the `data'
subdirectory of the emTeX directory.
Arguments can also be passed to the program through environment vari-
ables which are processed before arguments on the command line or
entered at a prompt. It is recommended, however, that only options,
or response files containing only options, are put into environ-
ment variables; if a file name is entered then only this file can be
processed.
The first environment variable looked for is DVIDRV and the next is
one with the same name as the driver. dvidot uses a further environ-
ment variable with a name set in the parameter file. For example,
to set +dvi-file:{,c:\mydvi\}@i as a default option for dviscr, the
operating system command:
set dviscr=+dvi-file:{,c:\mydvi\}@i
can be given. Note: Environment variables cannot contain `='.
Options which are common to all the drivers should appear in the
DVIDRV environment variable. If, for instance, units should all be in
mm then the system command
set dvidrv=+unit:mm
can be entered. This will affect all the drivers.
In a response file a single `%' starts a comment: all characters to
the end of the line will be ignored. The `%' can be placed at the
beginning of a line or after an option, but in the latter case it must
be preceded by at least one space.
A `@' at the beginning of a line (column 1) causes the rest of the
file to be ignored -- this allows a driver log file to be used as a
response file.
3 Using options
===============
Most options have two forms: A long form and a short form (more or
less compatible with earlier releases of the drivers). The long form
consists of a `+' character followed by the long name of the option,
possibly abbreviated. The short form consists of a `/' or `-' charac-
ter followed by one, two or three cryptic letters. There are options
for which only the long form is available and there are options for
which only the short form is available (long forms for the options of
the latter variety will be added in a later version of the drivers).
Options may be separated by spaces or another option may follow immedi-
ately: in this case the following option must start with `/' (and thus
must be given in the short form). If your operating system is set up
to use `-' for options instead of `/', you must precede the short form
of options by `-' and you must separate options by spaces. In this
case, you can use `/' in path names, for example
dviscr @lj.cnf /mytex/mytext -o:3 -pt:/mylog/mytext.ddl
With a standard setup (using `/' for options), you should enter
dviscr @lj.cnf \mytex\mytext /o:3/pt:\mylog\mytext.ddl
instead. The examples in this manual use `/'.
The operating system switch character can be overridden by setting the
EMTEXSWCHAR environment variable to a non-empty value. If EMTEXSWCHAR
is set to `-', this character will be used for options. For all other
settings of EMTEXSWCHAR, the drivers use `/' for options.
The long names of the options can be abbreviated as follows, as long
as the abbreviation is unambiguous (otherwise a warning message will
be displayed, along with all matching options):
- If you enter a period, the characters in the name of an option are
skipped until a `-' or the end of the name is reached. This way,
you can abbreviate words contained in the name of an option.
- You can omit characters at the end of the name.
The following list shows some valid (unambiguous) abbreviations for
+font-size-tolerance:
+font-size-tol
+font-size-tol.
+f.s.t.
+fo.size-t.
+font..tol
+..tol
Note that you can append `-x' or `-y' to some of the options. Only
if the input ends with `x' or `y', the driver appends `-x' or `-y',
respectively, to the internal names of the options when looking for
a match. This is to allow for abbreviating the name of the option
without making ambiguous the name without `-x' or `-y'. (For in-
stance, if `-x' and `-y' were appended unconditionally to all names in
the list of known options, `+resolution' would match the three options
`+resolution', `+resolution-x' and `+resolution-y'.)
Letter case is not significant in the names of the options. However,
letter case is significant in the arguments of some options.
Options may take arguments. For the long form of an option, there
must be `:', `=' or `:=' between an option and its argument, for exam-
ple
+width:210mm
+width=210mm
+width:=210mm
are all acceptable forms. For the short form, there may be `:', `='
or `:=' between an option and its argument, for example
/w210mm
/w:210mm
/w=210mm
/w:=210mm
are all acceptable forms.
Note: `=' may not appear in an environment variable and cannot be
given in an argument to a batch file. Semicolon and comma can also
not appear in an argument to a batch file (dangerous in connection
with templates).
If an option may take an argument, both forms of the option can take
an argument. Note that for some options, the syntax for arguments is
different for the long and short forms. The type of the argument is
shown below only for the short form. Possible types are:
# stands for a number which will sometimes be followed by a
dimension (the dimension must be in lowercase). Some op-
tions can be used to specify a value referring to the X co-
ordinate or a value referring to the Y coordinate, for in-
stance /r#. With /r:300 both values are set. To set only
one of the two values, append `x' or `y' to the short name
of the option: /rx:240 and /ry:216. When using the long
form, append `-x' or `-y' when setting the X or Y coordinate.
Example (+resolution): Use +reso:300 to set both values, use
+res.x:240 and +res.y:216 to set the values independently.
+ stands for `+' or `-' for the short form. + turns the option
on, - turns it off. When using the long form, `on' and `y'
turn the option on, `off' and `n' turn the option off. If no
argument is given, the option is turned on.
* stands for any other type of argument.
The long form is always listed without an indication of the type of
the argument.
3.1 Options for message output
------------------------------
These options are used for listing the available options and for
controlling the amount of messages shown on the screen.
3.1.1 Getting a list of the options
-----------------------------------
These options list some or all options, including the current
settings.
+short-help /?
List the most frequently used options with their current settings.
+help /??
List all the options with their current settings. Included are op-
tions which are usually set only once: in the configuration file.
3.1.2 Setting the verbosity level
---------------------------------
The verbosity level controls what messages are displayed on the
screen. Independent of the verbosity level, all messages are written
to the log file.
+verbosity /v#
Set the verbosity level:
0 display only fatal error messages
1 display all messages of level 0, plus page numbers and
font substitutions in batch mode
2 display all messages of level 1, plus serious warnings,
`Loading ...' and the DVI file comment
3 display all messages of level 2, plus all warnings and
\special's
4 display all messages of level 3, plus statistics and the
names of font files
5 display all messages of level 4, plus comments in the font
files
The default setting is +verbosity:2.
Note that +font-load-limit:-1 suppresses font comments and
warnings of font problems.
3.2 Options for page selection
------------------------------
These options select the pages to be printed. In the following the
difference between `pages', `sides' and `sheets' should be noted: A
page is a page from TeX's point of view, i.e., the DVI file contains
multiple pages with a TeX page number assigned to each of them. There
may be multiple pages on one side (n-up printing, see below), the
sides are numbered sequentially, the pages are numbered according
to the TeX page number assigned to them. A sheet contains either
one side (if printing single sided or if using two passes for print-
ing double sided) or two sides (if using +double-sided:long or
+double-sided:short).
The terms `side' and `sheet' are equivalent unless +double-sided:long
or +double-sided:short is used.
The terms `page' and `side' are equivalent if +rows:1 +columns:1 is
used.
The options are applied in the order they are shown below: Initially,
all sides are to be printed. The first option removes certain sides
from consideration, the second then restricts the remaining sides and
so on.
3.2.1 Selecting sides by page number
------------------------------------
You can select a range of sides by giving the TeX page number of the
first page and/or the TeX page number of the last page.
+first-page /b*
Select the first side to be printed. The DVI file will then be
read from the beginning until a matching page is encountered.
Further page selection will now begin, starting at the side
containing this page. An asterisk stands for any page number: at
most 10 numbers can be given which will be compared with \count0
to \count9 -- omitted numbers will be replaced with *. The de-
fault is * which means begin at the first page in the file.
In the following example, selection begins with the page having
\count0=-3 and \count2=4:
+fi.p:-3.*.4
+last-page /e*
Select the last side. After finding a suitable first side, the
DVI file search will continue until a page matching this option's
specification is encountered. The side containing this page
will be the last one. The sides encompassing the range of pages
selected by +first-page and +last-page will remain selected. The
default is *: this is an exception, it means that no matching for
the last page will take place.
In the following example, the last side is the one containing the
page with the page number 10.5:
+la.p:10.5
3.2.2 Double-sided printing
---------------------------
There are two ways of producing double-sided output: Use a printer
which automatically prints on both sides of the paper (duplex print-
ing) or print in two passes.
+double-sided /d:e /d:o /d:-
Double-sided printing: every other side is selected.
+double-sided:odd selects sides 1., 3., ..., +double-sided:even
selects the sides 2., 4., ... The default is +double-sided:off,
all sides are selected. Additionally, you can use
+double-sided:long and +double-sided:short with dvihplj (and
dvidot for some parameter files) to automatically print
double-sided on a suitable printer. See the lists of dvihplj's
and dvidot's options for details. Use +backside-offset-x and
+backside-offset-y to align frontside and backside.
The arguments `e', `o' and `-' can be used instead of `even',
`odd' and `off'. When using the short form of this option, you
have to use `e', `o' or `-'.
The following example prints the first part of a double-sided
document:
+doub:odd
The following example prints the second part of a double-sided
document:
+doub:even
You might have to toggle the +backward option on the second pass.
3.2.3 Selecting sides by side index
-----------------------------------
The sides selected by the options above will be numbered sequentially.
Use the following options to select sides by side index.
+skip-sides /k#
The number of sides to skip: the first # of the sides in the
chosen range will be skipped. The default is 0.
The following example will skip one side, the selection will begin
with the second side:
+skip:1
+number-of-sides /n#
The number of sides to print: at most # sides will be printed.
Default: 65535, the maximum value.
The following example will print at most 10 sides:
+num:10
3.2.4 Selecting the order of the sheets
---------------------------------------
Some printers stack the output sheets face-up. On those printers, the
last sheet should be printed first.
+backward /z+
Print the sheets in reverse order, starting with the last sheet
selected. The default is +backward:off, print the first sheet
first.
3.2.5 Printing multiple copies
------------------------------
There are two methods for printing multiple copies of a document.
+copy-sheets /ns#
Print # copies of each sheet (uncollated copies): each sheet will
be printed # times before going on to the next sheet. The default
setting is +copy-sheets:1 -- print each sheet only once. This op-
tion is not supported by dviscr, dvivik and dvipm (and dvidot when
creating graphics files).
+copy-file /nf#
Print the whole file # times (collated copies). The default
setting is +copy-file:1 -- print the file only once. For exam-
ple, if four sides are to be printed, +copy-file:2 will cause them
to be printed in the order 1 2 3 4 1 2 3 4. When +copy-sheets
and +copy-file are combined, +copy-sheets will be applied first,
then +copy-file. For example, printing two sides with the option
setting +copy-sheets:2 +copy-file:3 will result in the following
order: 1 1 2 2 1 1 2 2 1 1 2 2. This option is not supported
by dviscr, dvivik and dvipm (and dvidot when creating graphics
files). If +double-sided:long or +double-sided:short is used,
empty sides are inserted as necessary to avoid printing the first
side of the next copy on the backside of the last sheet of the
previous copy.
3.3 Managing fonts and graphics files
-------------------------------------
Most of these options are set only once, during installation (in a
response file). Some of these options are set in the configuration
files that come with the drivers.
3.3.1 Handling missing fonts and graphics files
-----------------------------------------------
There are three modes of handling missing font and graphics files.
Note that you can change the mode interactively when the driver asks
for a replacement for a missing font.
+batch-mode /fb
Automatic replacement of missing fonts. If a font is not found
then it is sought first in magnification 1000. If it is still
not found then cmr10 in the required magnification is sought,
then cmr10 at magnification 1000. If this fails, a TFM file will
be sought (characters will be replaced by rectangles if a TFM
file is found). If all this fails, characters from this font
will be omitted resulting in wrong positions of rules, characters
from other fonts, etc. This font search method can be altered
with a font substitution file. If a graphics file is not found
and +batch-mode has been selected then the picture will be
omitted. +batch-mode is switched off by either +change-mode or
+interactive-mode. If MFjob and METAFONT shall be called for gen-
erating missing fonts, usage of +batch-mode is recommended unless
you want to select which of the missing fonts should be generated.
+change-mode /fc
Before a font or graphics file is loaded, the name of the file can
be changed if +change-mode is active. +change-mode is switched
off by either +batch-mode or +interactive-mode.
+interactive-mode /fi
This is the default. If a font or graphics file cannot be found,
you can change the magnification or the name if +interactive-mode
is active. +interactive-mode is switched off by either
+batch-mode or +change-mode.
+omit-graphics /fo+
All \special{em:graph} commands will be ignored (without issuing
warnings) if +omit-graphics:on is used. That is, no graphics
files will be inserted.
3.3.2 Scaling fonts
-------------------
+font-scaling /fs#
Font scaling. These options are used to reduce the size of the
font allowing a font generated for a higher resolution device to
be used at a lower resolution (disk space!). The reduction is
accomplished by replacing the points in the rectangle of width
+font-scaling-x and height +font-scaling-y by a single point. If
the rectangle is a square, +font-scaling:# can be used to set the
width and height to the same value. The values may lie in the
range 1 to 8. Printing with fonts reduced by this method gives
results which are of noticeably poorer quality than fonts gener-
ated by METAFONT directly. The desired resolution must be set
with the +font-resolution option. The configuration files that
come with the drivers set +font-scaling appropriately.
The following example replaces the P6L fonts with scaled P6M
fonts:
+resolution:180 +font-scaling-x:2 +font-resolution-x:360
3.3.3 Font size tolerance
-------------------------
+font-size-tolerance /ft#
Allow for size tolerance when searching for fonts. Before seeking
a font, its size will be replaced by the closest size available,
unless the relative deviation is greater than 0.2%. Then, the
driver tries to find the font by trying the available sizes
starting with the closest size and proceeding with less close
sizes until the relative deviation from the size exceeds the value
set by +font-size-tolerance. Sizes with a greater deviation are
not tried. If a font is found and the deviation exceeds 0.2%,
warning message 1208 will be displayed. The tolerance is entered
as percentage, the valid range is 0 to 20, that is, 0 to 20% of
deviation. Default value: 0.2 (that is, 0.2%). Values less than
0.2 are not recommended. The available sizes of fonts are set
with the +font-sizes option, additionally the sizes found in the
font library files will be used.
+font-sizes /fz*
Available font sizes. To be able to find fonts close (with
respect to size) to the fonts requested, the drivers must be
informed with +font-sizes about the available font sizes. The
sizes are given in DPI, you can use magnifications by typing :0 to
:9 (see below). To enter more than one value, separate the values
by commas (note: commas cannot be passed to batch files). You can
either replace the previous set of sizes or -- by preceding the
first value by `+' -- add sizes to the previous set of sizes. The
default value is :0,:h,:1,:2,:3,:4,:5,:6,:7,:8,:9, that is, the
resolution set with +font-resolution, multiplied by 1, sqrt(1.2),
1.2, 1.44, and so on, up to 1.2^9. If the list starts with a
colon (`:1', for instance), you must use `:', `=' or `:=' to
separate the value from `/fz', otherwise the colon would be read
as delimiter (and ignored).
The following example adds sizes 200 and 240:
+font-sizes:+200,200:1
In the following example only magstep1 is available:
/fz::1
3.3.4 Initial loading of fonts
------------------------------
+font-load-limit /fl#
Font load limit. When the driver first loads the font
parameters from a font file (`Loading font ...') all those
characters are loaded that need no more than # bytes of memory.
+font-load-limit:-1 is a special case: the font parameters are
loaded only when needed; initially, only the existence of the
font file is checked. +font-load-limit:-1, however, also stops
warnings about problems with the font files and should only be
used when you are sure that the fonts are alright. The default
is 300, that is, all characters which need 300 or fewer bytes
of memory are immediately loaded. If later a (larger) charac-
ter is required which has not yet been loaded, the font file will
have to be opened again. If dviscr, dvivik or dvipm is used with
fonts on a fixed disk, it is better to use +font-load-limit:0 or
+font-load-limit:-1 as the first side appears on the screen more
quickly (initial font load takes a little time.) If the driver
complains about lack of memory, it may help (but not necessarily)
to use +font-load-limit:0 or +font-load-limit:-1; this doesn't
reduce the memory required by the driver but may improve the way
the available memory is used.
The following example disables initial loading of characters:
+f.l.l:0
The following example causes characters to be loaded on demand:
+f.l.l:-1
In the following example, all characters smaller than 1000 bytes
are initially loaded:
+f.l.l:1000
3.3.5 Rounding character positions
----------------------------------
+max-drift /fd#
This sets the internal variable max_drift. If the character or
line spacing is uneven, a different value can be tried: the usual
values range from 0 to 2, the default value is 1 if no configura-
tion file is used. You can set the horizontal and vertical values
separately with +max-drift-x and +max-drift-y, respectively. The
DVI drivers standard recommends the following values:
Resolution r (DPI) │ max_drift
───────────────────┼──────────
r < 100 │ 0
100 <= r < 200 │ 1
200 <= r │ 2
The values from this table are set by the configuration files that
come with the drivers.
+use-tfm-files /fu+
This option is used for telling the driver whether TFM files shall
be used for all fonts. The pixel rounding algorithm requires the
word space (and other parameters) defined for a font for rounding
the positions of characters from that font. The word space param-
eter will be taken from TFM files if +use-tfm-files:on has been
set. To use TFM files, you have to set +tfm-files correctly. If
a TFM file is not found, warning message 1212 will be displayed
and the font is treated as if +use-tfm-files:off were set. If
+use-tfm-files:off is set, the word space will be estimated by the
driver. The default setting is +use-tfm-files:off because in most
cases there is no a visible difference.
3.3.6 Generating fonts automatically
------------------------------------
+call-mfjob /fr+
If the default value +call-mfjob:on is active, the drivers
directly call MFjob under OS/2, without terminating the
driver. If you want to get the same behaviour as under DOS,
use +call-mfjob:off. In this case, the driver is terminated
with return code 8 to indicate that MFjob should be invoked.
+call-mfjob is ignored under DOS.
+metafont-mode /fm*
This option -- together with +mfjob-file -- is required for gener-
ating missing fonts automatically by calling MFjob. The METAFONT
mode used for generating missing fonts is set by this option. The
default value is empty, if no configuration files are used: MFjob
will not be called automatically. The configuration files that
come with the drivers set +metafont-mode appropriately.
The following example uses mode hplaser for the HP LaserJet family
at 300 DPI:
+m.m:hplaser
3.4 Side layout options
-----------------------
The options described here are used for specifying the paper size, the
offsets for achieving correct margins and the transformation (printing
orientation).
3.4.1 Specifying the paper size
-------------------------------
See also the +paper option of dvihplj.
+height /h#
Set the paper height. This value is used by dviscr and dvivik to
display the sheet edges as a border. dvipm uses this value for
the size of the sheet. dvidot with parameter file for creating
graphics files uses this value to set the size of the graphics
files unless +minimize:on is selected. dvidot with parameter file
for printing on a dot matrix printer uses this value to decide
how much of the side can be printed; however, as a form feed is
used to eject a page the physical page length must be set on the
printer. `dvidot itoh' and `dvidot aiw' are an exception, they
use the value set by +form-length for page ejects. You should set
+height to the height of the paper you are printing on.
The following example sets the paper format to A4:
+height:297mm +width:210mm
+width /w#
Set the paper width. dviscr and dvivik use this value for
displaying the edges of the sheet. dvipm uses this value for
the size of the sheet. dvidot with parameter file for creating
graphics files uses this value to determine the size of the
graphics files unless +minimize:on is given. The dvidot driver
with parameter file for dot matrix printers reduces this value
by 1px if the value given is exactly the maximum paper width.
`dvidot fx80', for example, reduces this width by 1px if, when
converted, it is exactly 1920px. You should set +width to the
width of the paper you are printing on.
3.4.2 Transformation (orientation)
----------------------------------
+transformation +portrait-mode +landscape-mode /tr#
Output transformation. The following values are available:
0 normal output (portrait mode)
1 rotate 90 degrees anticlockwise (landscape mode)
2 rotate 180 degrees
3 rotate 270 degrees anticlockwise
4 reflect about the \ diagonal
5 reflect vertically
6 reflect about the / diagonal
7 reflect horizontally
In practice +transformation:0 (+portrait-mode) and
+transformation:1 (+landscape-mode) are most often used.
The transformations when applied to the pattern
A B
C D
E F
are
0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7
────┼───────┼─────┼───────┼───────┼─────┼───────┼────
A B │ B D F │ F E │ E C A │ A C E │ E F │ F D B │ B A
C D │ A C E │ D C │ F D B │ B D F │ C D │ E C A │ D C
E F │ │ B A │ │ │ A B │ │ F E
It is important to set the paper height and width correctly with
+height and +width (for coordinate transformations).
The same paper dimensions and offsets can be used for all
transformations, that is, +height, +width, +top-margin and
+left-margin need not be changed. The margins set with
+page-top-margin and +page-left-margin are `above' or `left' of
the text and will be transformed.
If +resolution-x and +resolution-y differ then different fonts
will be needed when rotating by 90 or 270 degrees or reflecting
about a diagonal -- this applies to the EPSON FX-80/100, NEC P6/P7
(360x180DPI) C.Itoh 8510A and Apple Imagewriter printers.
For key assignments for dviscr and dvivik, see <K> and <T>.
When using transformations 1 through 7, some restrictions apply:
- \special{em:graph} doesn't work and will be ignored
- dvihplj cannot use built-in fonts (see the description of font
substitution files for details) unless using an HP LaserJet III
or later.
When using transformations 4 through 7, dvihplj cannot use
built-in fonts (see the description of font substitution files for
details).
3.4.3 Moving the output on the sheet
------------------------------------
+left-margin /l#
Left margin: The output will be moved # to the right. The de-
fault value is 0in. This option is intended to be set in a con-
figuration file or environment variable to adjust the margins for
your particular printer. To find the correct value of this option
for your printer, print adjust.dvi with the option +left-margin:0
and measure the distance from the left margin to the printed
square. Take an inch (25.4 mm) off this, change the sign, and
set +left-margin to the resulting value. The offset specified by
+left-margin is always measured from the left of the sheet and is
not affected by +transformation. See also +page-left-margin.
The following example moves output right by 1 cm:
+left:1cm
+top-margin /t#
Top margin. The output will be moved down the sheet by #. The de-
fault value is 0in. This option is intended to be set in a con-
figuration file or environment variable to adjust the margins for
your particular printer. To find the correct value of this option
for your printer, print adjust.dvi with the option +top-margin:0
and measure the distance from the top edge of the paper to the
square. Take 1 inch (25.4mm) from this, change the sign, and
set +top-margin to the resulting value. The offset specified by
+top-margin is always measured from the top of the sheet and is
not affected by +transformation. See also +page-top-margin.
+page-left-margin /al#
This option specifies the (logical) left margin of a page.
This left margin is always to the left of the page, subject to
+transformation. The default value is 1in, as assumed by most TeX
formats.
+page-top-margin /at#
This option specifies the (logical) top margin of a page. This
top margin is always above the page, subject to +transformation.
The default value is 1in, as assumed by most TeX formats.
+backside-offset-x +backside-offset-y /ax# /ay#
Shift backsides to make them align with the frontsides. The
output on backsides is moved to the right by the value
of +backside-offset-x and is moved down by the value of
+backside-offset-y. On frontsides, these options are ignored.
With +double-sided:off and +double-sided:odd, the values
of +backside-offset-x and +backside-offset-y are ignored.
With +double-sided:even, the values of +backside-offset-x
and +backside-offset-y are applied to all sides. With
+double-sided:long and +double-sided:short, the side first printed
is considered a frontside.
Both values may be negative to move in the opposite direction.
The default value of both options is 0in.
3.5 Producing booklets and books, n-up printing
-----------------------------------------------
The options described here are used for printing multiple pages on
a side, optionally suitable for folding and saddle-stitching in the
middle. Basically, there are two applications of printing multiple
pages on a side:
1. Making a booklet or book. See +section-count and +section-size
for details.
2. Printing multiple pages on a sheet to save paper. In this case,
the pages are arranged on the sheets in the order they are
read from the DVI file, left to right, top to bottom. See the
description of +page-list-file for figures.
Additionally, you can assign each page to one of the locations defined
by +rows, +columns, +page-width and +page-height by supplying a file
containing a list of pages. See +page-list-file for details.
3.5.1 Defining the locations of the pages on a sheet
----------------------------------------------------
+columns +rows /ac# /ar#
Use these options to specify the number of columns and rows of
pages on a side. The default value is 1 for both options, telling
the driver to put one page on each side. The number of pages to
be printed side by side is set by +columns. The number of pages
to be printed above one another is set by +rows.
The meaning of `side by side' depends on the +transformation and
+fold-other options. For +portrait-mode and +fold-other:off
(the default values), the meaning is the usual one. Choosing
+fold-other:on reverses the meaning of `rows' and `columns'.
Choosing a transformation which flips the X and Y axes
(+landscape-mode, for instance) reverses the meaning of `rows' and
`columns'.
The number of pages per side is the product of the values of +rows
and +columns.
+page-height +page-width /ah# /aw#
These options set the height and width, respectively, of
the pages. These values define the vertical and horizontal
distance of the pages arranged in the grid defined by +columns
and +rows. The default value of +page-height is 11in, the de-
fault value of +page-width is 8.5in. These options are ignored
unless +columns or +rows is set to a value greater than 1. The
location of a page within the grid is defined by +page-left-margin
and +page-top-margin. As for those options, the meaning of
+page-height and +page-width is also affected by +transformation.
3.5.2 Arranging the pages
-------------------------
+page-list-file /pp*
Set the path name of the page list file (the value is a tem-
plate, see below for details). If the value is empty (which is
the default), no page list file is used. If a page list file is
specified with +page-list-file, the pages are distributed to sides
according to the contents of this file.
For each side to be printed, there is one line in the file. Each
line contains one entry for each page per side (see +columns and
+rows). If there are R rows, the first R entries are for the
first row, the next R entries are for the second row, and so on:
+portrait-mode
┌───┐ ┌───┐ ┌───┐
│1 2│ │1 2│ │1 2│
└───┘ │3 4│ │3 4│
└───┘ │5 6│
└───┘
+landscape-mode
┌─┐ ┌───┐ ┌─────┐
│2│ │2 4│ │2 4 6│
│1│ │1 3│ │1 3 5│
└─┘ └───┘ └─────┘
Note that this is subject to +fold-other.
An entry is either `-' to leave that position empty or a page
index (the pages of the DVI file are assigned page indices
sequentially, starting with 1 for the first page) to select this
page into the row and column associated with the entry. Entries
are separated by spaces.
Lines starting with `%' and empty lines are ignored. You can put
a comment after the last entry of a line by preceding the comment
with at least one space and a `%' character.
If a page list file is used, the +blank-pages and +page-shift op-
tions are ignored.
Here's an example of a page list file:
% Sample page list file
% For use with +columns:2 +rows:1
1 8 % Side 1
2 7 % Side 2
3 6 % Side 3
4 5 % Side 4
+section-count +section-size /an# /az#
To produce a book or a booklet, use one of these options, together
with the options for defining the locations of pages on sides
(+rows, +columns, etc.).
If +section-count or +section-size is set to a non-zero value,
the pages are rearranged to make sheets which can be made into
a booklet or a book consisting of several sections by cutting,
folding and saddle-stitching in the middle. To make a booklet,
take the stack of sheets of one section, cut and sort it (if there
are more than 2 pages per side), then fold it once. Now you can
saddle-stitch the stack in the middle. To make a book, make a
booklet from each section and bind the booklets into a book.
The number of sections (booklets) is either set by +section-count
(which defines the number of sections) or computed from the value
of +section-size (which defines the number of booklet sheets per
section, that is the number of pages per section divided by 4).
If both +section-count and +section-size are set to a non-zero
value, +section-count supersedes +section-size. A warning message
is displayed if the values of +section-count and +section-size
disagree.
If +section-count or +section-size is set to a non-zero value,
the driver assumes that you want to make a book or booklet.
Therefore, it aborts with an error message if one of the following
conditions is false:
- A page list file must not be used (+page-list-file should have
an empty value).
- The number of columns of pages (+columns) must be even (and
greater than one).
The default value for +section-count and +section-size is 0. If
both +section-count and +section-size are set to 0, no book is
produced.
The last section can be smaller than the preceding sections of a
book. See +full-last-section for details.
+full-last-section /ae+
If the number of pages of a book isn't an integral multiple of the
number of pages per section, there will be some empty pages in the
last section. By default (+full-last-section:off), the driver
reduces the size of the last section to minimize the number of
blank pages at the end of the section. Use +full-last-section:on
to make the last section the same size as the other sections,
i.e., output blank pages as necessary.
3.5.3 Special effects
---------------------
+blank-pages /ab#
Insert blank pages at the beginning, shifting all selected pages.
The default value is 0, which means not to insert blank pages.
This option can be used for leaving room for a title page, without
having to put a blank page into the DVI file (which can be quite
difficult). Note that +blank-pages modifies the way pages are
arranged on sheets and therefore affects the page selection.
+blank-pages is ignored if +page-list-file is used.
+fold-other /af+
Use +fold-other:on to arrange the pages for folding the other
way. By default (+fold-other:off), the driver assumes that you
want to get `left' and `right' pages. However, a calendar, for in-
stance, has `top' and `bottom' pages. To achieve this effect, use
+fold-other:on.
+page-shift /as#
Shift the pages to compensate for the paper thickness. When
making a booklet, `outer' pages are shifted away from the fold by
the value of +page-shift, multiplied by the number of layers. The
innermost pair of pages is not shifted. To find the correct value
of +page-shift, start at about 1.5 times (pi/2) the thickness of
the paper.
3.5.4 Examples
--------------
To make a portrait-mode booklet by printing in landscape mode, putting
two A5 pages on an A4 side (no cutting is required), use the following
options:
+columns:2 +rows:1 +section-count:1
+page-width:149mm +page-height:210mm
+landscape-mode +double-sided:short
If your printer does not support +double-sided:short, you have to
use +double-sided:odd, then reinsert the paper (turning around the
short edge, that is, upside down) and use +double-sided:even. Use
+backside-offset-y to align the frontside and the backside.
To make a portrait-mode booklet by printing in portrait mode, putting
four A6 pages on an A4 side (requiring cutting all the sheets into
two), use the following options:
+columns:2 +rows:2 +section-count:1
+page-width:105mm +page-height:149mm
+portrait-mode +double-sided:long
If your printer does not support +double-sided:long, you have to use
+double-sided:odd, then reinsert the paper (turn around the long edge)
and use +double-sided:even. Use +backside-offset-x to align the
frontside and the backside.
Additionally, you should set +page-shift in all cases. Adjust the
+page-width and +page-height values to control the distance between
the pages.
3.6 Magnification and resolution
--------------------------------
Some of the options described here are set in the configuration files
that come with the drivers.
3.6.1 Setting the resolution
----------------------------
+resolution /r#
Set the resolution. +resolution-x sets the horizontal resolution,
+resolution-y the vertical and +resolution:# both at once. The
default value is 300, dvidot uses the value set in the parame-
ter file. These values are in dots per inch (DPI). Make sure
that the appropriate fonts are available! A number of parameters
can only be calculated when the resolution is known: the driver
will only convert the values when all the options have been read,
therefore the +resolution option doesn't have be the first one.
See also +font-resolution. The configuration files that come with
the drivers set +resolution appropriately.
The following example sets the resolution to 180 DPI:
+resol:180
+font-resolution /rf#
Set the font resolution, the argument is in DPI. This option
will usually be used together with +font-scaling. The hori-
zontal and vertical resolution can be set individually with
+font-resolution-x and +font-resolution-y. If +font-resolution
is omitted, the value used for the font will be that set by
+resolution. The configuration files that come with the drivers
set +font-resolution appropriately.
+graphics-resolution /rg#
Set the resolution for the graphics files, the argument is in
DPI. This option merely sets the values which will be used for
@r in +graphics-files. The horizontal and vertical resolution
can be set individually with +graphics-resolution-x and
+graphics-resolution-y. If +graphics-resolution is omitted, the
value used will be that set by +resolution.
3.6.2 Setting the magnification
-------------------------------
+magnification /m#
the magnification in the DVI file is replaced by # which can take
any value from 100 to 16000. The values are the same as those
used for \mag, that is, the magnification multiplied by 1000
(+magnification:1000 gives the normal size) or as h, 0 to 5, they
represent \magstephalf, \magstep0 to \magstep5. The values 6 to
9 will be interpreted similarly. Note that fonts in the sizes
chosen are required.
The following example replaces the magnification with sqrt(2):
+mag:1414.21356
The following example replaces the magnification with sqrt(1.2):
+mag:h
3.7 Directory and file name options
-----------------------------------
The following options accept templates to specify a number of
different search paths for files. See section 3.14 for details about
templates. Some of the options described here are set in the configu-
ration files that come with the drivers.
3.7.1 Search paths
------------------
When using a search path for finding a file, the first successful
expansion of the template will be used.
+dvi-file /pd*
the template used when searching for the DVI file (input file).
@i will be replaced with the name of the DVI file (the default ex-
tension DVI has been already attached if necessary). The default
value is @i, telling the driver just to look for the specified
file. The configuration files change the setting of +dvi-file
to seek DVI files in the current working directory and in the
directories listed in the DVIDRVINPUT environment variable.
The following example tells the driver to search the specified di-
rectory, d:\dvi, and d:\mytex:
+dvi-f:{,d:\dvi\,d:\mytex\}@i
+font-files /pf*
the template used when locating font files (PK, PXL and VF files).
@f will be replaced with the name of the font. dvidot reads the
default value from the parameter file, the default value for all
other drivers is
\texfonts\pixel.lj\@Rrdpi\@f.{pk,pxl}
which -- when used for finding the font `cmr10 scaled 1200' with
+font-resolution:300 -- tries to open the files
\texfonts\pixel.lj\360dpi\cmr10.pk
and
\texfonts\pixel.lj\360dpi\cmr10.pxl
in this sequence. However, the configuration files that come with
the drivers change +font-files to use the DVIDRVFONTS environment
variable. fx.cnf, for instance, uses the template
$DVIDRVFONTS:pixel.fx\@Rrdpi\@f{.pk,.pxl}
To use VF files, specify the path of the VF files with +font-files
or with +virtual-fonts. Example:
+font-files:$DVIDRVFONTS:{pixel.fx\@Rrdpi\@f{.pk,.pxl},vf\@f.vf}
+graphics-files /pg*
the template used when locating graphics files (MSP, PCX and BMP
files). @f will be replaced with the name of the picture. The de-
fault value
@PBf{@Ef,.msp,.pcx,.bmp}
makes the driver look for the following files:
name (@f) │ files
─────────────┼──────────────────────────────────────────────────
test │ test. test.msp test.pcx test.bmp
test.ext │ test.ext test.msp test.pcx test.bmp
\g\test │ \g\test.ext \g\test.msp \g\test.pcx \g\test.bmp
However, the configuration files that come with the drivers change
+graphics-files to use the DVIDRVGRAPH environment variable:
{,$DVIDRVGRAPH:}{@Rrdpi\,}@PBf{@Ef,.msp,.pcx,.bmp}
The following example works like the default value, but also
searches the directories given in the DVIDRVGRAPH environment vari-
able:
+graph.f:{,$DVIDRVGRAPH:}@PBf{@Ef,.msp,.pcx}
+response-files /pr*
the template used when searching for response files (@name). @f
will be replaced with the name of the response file. The default
value is {,$EMTEX:data\}@f, which makes the driver search the
specified directory (or the current working directory, if the name
of the response file doesn't specify a directory) and then the
`data' subdirectory of the emTeX directory.
The following example searches the specified directory, c:\emtex,
and d:\mytex for response files. The specified extension is tried
first, then CNF:
+response-files:{,c:\emtex\,d:\mytex\}@PBf{@Ef,.cnf}
+tfm-files /pm*
the template for TFM files. Character width information is
required for invisible fonts, fonts whose characters should be
turned into rectangles (/b, /r, and /w in font substitution files
or /b, /r, and /w user input while searching for fonts) and for
built-in printer fonts. If no font could be found, TFM files
can be used for those fonts, but then, the sizes of the black
rectangles must be estimated. Use +tfm-files to tell the drivers
how to transform font names into TFM file names. The default
is {$TEXTFM:,$EMTEX:tfm\}@f. The default extension is TFM. If
+use-tfm-files:on is active, TFM files will also be read for fonts
whose characters should be printed.
In the following example, TFM files are located in the directory
d:\fonts\tfm:
+tfm-f:d:\fonts\tfm\@f
+virtual-fonts /pv*
the template for VF files (virtual fonts), in addition to
+font-files. @f will be replaced with the name of the font.
If the template is non-empty, the driver will search for
virtual fonts before searching a font in the font libraries
(+font-libraries) and in single files (+font-files). If you don't
want to replace existing fonts with virtual fonts, you should use
+virtual-fonts: (with an empty template), which is the default
value, to speed up font search.
In the following example, VF files are located in directory
c:\fonts\vf, the file name extension is VF:
+virt:c:\fonts\vf\@f.vf
3.7.2 Input files
-----------------
For input files, all expansions of the template will be used
successively.
+init-files /pi*
printer initialization files. The files given by +init-files will
be sent to the printer immediately after it has been reset. You
may use a template for giving more than one file.
The following example sends the files unidir.p6 and init.p6 to the
printer:
+init-f:unidir.p6,init.p6
+font-libraries /pl*
the template for the fonts libraries to be used. Fonts are sought
first in these libraries and then as single files. Font libraries
can be created with fontlib. The default extension is FLI. The
configuration files that come with the drivers set +font-libraries
appropriately, using the DVIDRVFONTS environment variable.
The following example lets the driver look for the font libraries
lj_0.fli, lj_h.fli, ..., lj_sli.fli in the directories given in
the DVIDRVFONTS environment variable. If this environment vari-
able lists more than one directory, you'll probably get some
warning messages about missing files:
+font-lib:$DVIDRVFONTS:lj_{0,h,1,2,3,4,5a,5b,sli}
+font-subst-files /ps*
the names of the font substitution files. The default is no font
substitution file. You can use a template. The driver searches
font substitution files in the specified directory (or the current
working directory, if the name doesn't specify a directory) and
then in the `data' subdirectory of the emTeX directory. The de-
fault extension is SUB.
The following example reads the three files circle.sub, sub1.sub,
and sub2.sub:
+f.subst:circle,sub1,sub2
3.7.3 Output files
------------------
For output files, only the first expansion of the template will be
used.
+mfjob-file /pj*
Name of the file created when missing fonts are to be gener-
ated by calling MFjob. See also +metafont-mode. When calling
a driver via the dvidrv.exe program, this option will be set
automatically to the name of a temporary file. The default value
is {$TMP:,}dv@u.mfj, that is, a file named dv#.mfj is created
under OS/2, where # is a number that is chosen by the driver to
not overwrite an existing file. The file will be created in the
directory specified by the TMP environment variable. If TMP is
not set, the file will be created in the current working direc-
tory. Under DOS, the default value causes MFjob not to be called,
as @u is used. The file will be created only if there are missing
fonts, a METAFONT mode has been set with +metafont-mode and a file
name has been set with +mfjob-file.
+default-output-file /po*
this option sets the default name of the output file. If the
driver is called without an output file name, this name will be
used. Default value: no default output file. You can use a tem-
plate, but only the first expansion will be used. This option is
used only to set the default; to specify the output file name when
running a driver, enter the file name directly without using this
option.
With the following example, output goes to LPT1 unless an output
file name is given on the command line:
+def.out:lpt1
+transcript-file /pt*
the name of the log file (transcript file). The default is `@d',
ie, the name of the driver with extension DLG (for instance,
dviscr.dlg). All output that follows the input of the files and
options is written to this file. It also contains the current
settings of all the options for the run. The +transcript-file: op-
tion suppresses the creation of a log file. A log file can later
be used as a response file to set up the same conditions again.
You can use a template, but only the first expansion will be used.
In the following example, the name of the DVI file with file name
extension DLO in the current working directory will be used for
the log file:
+tr.file:@Bi.dlo
+fontlib-file /pw*
Write a fontlib response file. A text file containing the fontlib
commands to insert the fonts used in the run into a font library
will be generated. To generate only this response file use the
option +number-of-sides:0. You can use a template, but only the
first expansion will be used.
For example, the fontlib call for
+fontlib-file:new.cmd
is
fontlib new /k @new.cmd
3.8 Miscellaneous options
-------------------------
Options which don't fit any of the categories above are described
here.
3.8.1 Meta options
------------------
These options deal with options.
+options //
Prompt for options. When +options is used the driver will prompt
for further options, this can be useful when the options required
exceed the permitted length of the command line. This option is
not supported by dvipm.
+unit /u*
This option sets the default dimension unit to be used when none
is given. The default is inch. The following dimension units can
be used (cf. The TeXbook p. 57)
pt point (1/72.27in)
pc pica (12pt)
in inch (default)
bp big point (1/72in)
cm centimeter
mm millimeter
dd didot point (1238/1157pt)
cc cicero (12dd)
sp scaled point (1/65536pt)
px Pixel (resolution independent)
All these units must be entered in lowercase. The +unit option
affects all following options.
The following example is INVALID, megameters are somewhat
impractical:
+unit:Mm
3.8.2 Memory management
-----------------------
+use-ems /xe+
Use expanded memory (EMS) under DOS. The default setting is
+use-ems:on, which enables usage of EMS. +use-ems:off disables
usage of EMS, data will be swapped to disk if there isn't enough
main memory. EMS 4.0 or later is required.
+use-xms /xx+
Use extended memory (EMS) under DOS. The default setting is
+use-xms:on, which enables usage of XMS. +use-xms:off disables
usage of XMS, data will be swapped to disk if there isn't enough
main memory.
3.9 Additional options for dviscr and dvivik
--------------------------------------------
Unless otherwise noted, these options are available for both dviscr
and dvivik.
3.9.1 Configuration
-------------------
+adapter /oa#
Adapter setting for dviscr, the possible values are:
0 automatic selection (default)
1 CGA 640x200
2 EGA 640x350 or 640x200
3 VGA 640x480
4 Hercules Graphics Card 720x348, not under OS/2
5 GENOA SuperEGA 800x600, not under OS/2
6 Paradise VGA 800x600, not under OS/2
7 Video Seven VGA 800x600, not under OS/2
8 Tseng Labs EVA 800x600, not under OS/2
9 HP Vectra 640x400, not under OS/2
10 MDS Genius (PRIMUS II) 728x1008, not under OS/2
11 EGA 640x200, 16 colors
12 EGA 640x350, 16 colors
13 EGA 640x350, 16/64 colors
14 VGA 640x480, 16 colors
15 VGA 640x480, 16/64 colors
16 VGA 640x480, 16/262144 colors
17 EGA 640x350, black and white
18 VGA 640x480, black and white
19 Olivetti M24 640x400, not under OS/2
20 Adapter Interface 1024x768 (8514/A), not under OS/2.
HDILOAD or another program providing the Adapter Interface
must be loaded.
Further adapter-specific modes may be used with the following ex-
tension of this option:
+adapter:M;W;H;AX;BX
where M is a number which describes the adapter and display
combination:
100 EGA with monochrome display
101 EGA with 16 color display
102 EGA with 64 color display
103 VGA with analogue color display,
W is the screen width in pixels (320 to 1024), and H is the screen
height in pixels (200 to 1024).
The graphics mode is set by loading registers AX and BX with the
arguments AX and BX before calling interrupt 10H. AX and BX must
be given in hexadecimal. `;BX' can be omitted if BX is to be set
to zero. The semicolons may be replaced with colons if desired.
If (W/8)*H exceeds 65536 then H will be reduced to 65536/(W/8).
In consequence, 1024x768 is not supported. You are responsible
for entering the correct values, the manual for your adapter can
sometimes give further help. Example: the graphics mode selected
by +adapter:13 can be represented as
+adapter:102:640:350:0010
and mode +adapter:7 is the same as
+adapter:103:800:600:6f05:62
Here's a list of values (without warranty) for some graphics
adapters:
Acumos AVGA2, AVGA3 /oa103:800:600:58
Advance Logic AL2101 /oa103:800:600:2B
Ahead V5000 /oa103:800:600:71
ATI VGAWONDER, Graphics Ultra etc. /oa103:800:600:54
Chips and Technologies /oa103:800:600:6A
Cirrus Logic CL-GD 500/600 /oa103:800:600:64
Cirrus Logic GD 5422 /oa103:800:600:58
Compaq VGA /oa103:800:600:59
CTI /oa103:800:600:6A
Diamond Stealth /oa103:800:600:4F02:0102
Everex /oa103:800:600:70:02
Genoa 5xxx, Sigma VGA /oa103:800:600:29
Genoa 6xxx /oa103:800:600:6A
MXIC MX 68010 /oa103:800:600:55
NCR 77C22 /oa103:800:600:58
OAK Technologies OTI-067, OTI-077, OTI037C /oa103:800:600:52
OAK Technologies OTI037C w/ NEL BIOS /oa103:800:600:5B
Orchid Prodesigner /oa103:800:600:29
Paradise /oa103:800:600:58
Poach /oa103:800:600:6A
Primus /oa103:800:600:2A
Realtek RT 3106 /oa103:800:600:1F
S3 /oa103:800:600:4F02:0102
Tecmar /oa103:800:600:16
Trident 8900 /oa103:800:600:5B
Tseng ET-3000, ET-4000 /oa103:800:600:29
VEGA /oa103:800:600:29
VESA compatible adapters /oa103:800:600:4F02:0102
Video 7 SVGA /oa103:800:600:62
WD90C11 /oa103:800:600:5C
Western Digital /oa103:800:600:58
If you spot something wrong in this table, please send the correct
values to the author.
+color /oc#
Set the colors to be used by dviscr (only with EGA or VGA). The
possible values are 0 to 15, the default is /oc:2 (green). You
can set different colors for the various screen elements:
/ocp:# paper border
/ocr:# ruler
/ocs:# status line
+home-x +home-y /hx# /hy#
Set the initial position on the side to be displayed in the top
left corner of the screen. A new page will be displayed in this
position and pressing the <Home> key will cause the current side
to be displayed in this position. +home-x:0 +home-y:0 is the top
left-hand corner of the sheet. +home-x:1in +home-y:1in is the de-
fault setting.
+inverse /oi+
Inverse display. Use +inverse:off (default) to display black on
a white background, use +inverse:on to display white on black
background.
+zoom /o#
Reduce the size of the displayed side by using gray scales
(dviscr). A rectangle of X x Y pixels will be displayed as one
pixel on the screen. +zoom:# sets both X and Y, +zoom-x sets X
alone and +zoom-y sets Y alone. An EGA (with 16 color display)
or a VGA adapter is required. If both X and Y are 1, there is no
gray scale display. X and Y can take values from 1 to 8. The
implementation is optimized for +zoom-x values of 1, 2, 3, 4 and
8. Setting +zoom-x to 5 or 7 makes the driver almost unusably
slow. If +scaling:1 is set (no scaling) and gray scale is enabled
with +zoom but the adapter does not support gray scales, the +zoom
values are used for scaling instead, that is, +zoom:3 is the same
as +zoom:1 +scaling:3.
Example:
+z.x:4 +z.y:2
+ruler /or+
Enable the ruler (default is no ruler).
+status-line /os+
Enable status line (default). If the status line is disabled,
there will be a beep at the beginning and end of text or numeric
input.
+ruler-unit /ou*
Select the dimension for the ruler and the status line (default is
pt).
+scaling /s#
Reduce the size of the output page; this allows more of the
side to be seen on the screen. The pixels in a rectangle of
width +scaling-x pixels and height +scaling-y pixels will be dis-
played as a single pixel. +scaling:# sets both X and Y to the
same value. Possible values range from 1 to 8. If fonts in
suitable resolutions are available then it is better to change
the resolution with +resolution (by using a different configura-
tion file) as reduced characters are not pretty. Even better, use
gray scaling -- see +zoom, but only with an EGA or VGA card and a
16 (or 64) color display. If gray scaling is not possible, then
scaling can be set with +zoom, too.
The following example halves the resolution (both X and Y):
+scaling:2
The following example reduces the width to 1/4 and halves the
height:
+s.x:4 +s.y:2
3.10 Additional options for dvipm
---------------------------------
Note that some settings can be changed only by using the menus and
dialog boxes.
3.10.1 Configuration
--------------------
+bitmap-memory-limit /om#
Maximum size in Kbytes of the temporary bitmaps. The default
value is 512, that is, at most 512 Kbytes will be used for tempo-
rary bitmaps. Values between 0 and 65535 can be set. If your
machine has much memory, you can improve the speed by increasing
this value. If your machine has little memory, you can improve
the speed by decreasing this value.
+home-x +home-y /hx# /hy#
Set the initial position on the side to be displayed in the top
left corner of the screen. A new side will be displayed in this
position and pressing the <Home> key will cause the current side
to be displayed in this position. +home-x:0 +home-y:0 is the top
left corner of the sheet. +home-x:1in +home-y:1in is the default
setting.
+ruler-unit /ou*
Select the dimension for the ruler and for displaying the cursor
position (default is pt).
+scaling /s#
Reduce the size of the displayed page, this allows more of the
side to be seen in the window. The pixels in a rectangle of
width +scaling-x pixels and height +scaling-y pixels will be dis-
played as a single pixel. +scaling:# sets both X and Y to the
same value. Possible values range from 1 to 8. If fonts in
suitable resolutions are available then it is better to change the
resolution with +resolution (by using a different configuration
file) as reduced characters are not pretty.
+zoom /o#
Reduce the size of the displayed side by using gray scales. A
rectangle of X x Y pixels will be displayed as one pixel on
the screen. +zoom:# sets both X and Y, +zoom-x sets X alone
and +zoom-y sets Y alone. If both X and Y are 1, there is no
gray scale display. X and Y can take values from 1 to 8. The
implementation is optimized for +zoom-x values of 1, 2, 4, 6 and
8. Setting +zoom-x to 5 or 7 makes the driver almost unusably
slow.
Example:
+z.x:4 +z.y:2
3.11 Additional options for dvidot when printing on a dot matrix printer
------------------------------------------------------------------------
dvidot has two principal modes of operation: printing on a dot matrix
printer and creating bitmap files. The mode is selected by the parame-
ter file. This section describes the options applying to printing on
a dot matrix printer.
3.11.1 Options for all parameter files
--------------------------------------
+close /os#
Close and reopen the output file after printing # sheets at
a time. For instance, this is useful for use with printer
spoolers. +close:0 (the default setting) disables this feature,
that is, the output file will be closed once at the end of the
print job. Prior to closing the output file, the printer will
be reset. After reopening the output file, the printer will be
reinitialized. This effectively splits the output of dvidot into
several print jobs, allowing printing to start while more pages
are being output.
+double-sided:long +double-sided:short /d:l /d:s
Double-sided printing, the printer automatically prints on both
sides of the paper. +double-sided:long is used for long-edge
binding (the sheets are bound along the length of the sheet),
+double-sided:short is used for short-edge binding (the sheets
are bound along the width of the sheet). The +copy-file and
+copy-sheets options work as expected with +double-sided:long and
+double-sided:short. This option cannot be used with all param-
eter files (in fact, there is currently no parameter file which
enables +double-sided:long or +double-sided:short).
+final-formfeed
If +final-formfeed:on is active, a formfeed will be sent to the
printer after printing the last sheet. This is the default.
+final-formfeed:off suppresses the final formfeed. That may be
desired if the operating system automatically appends a formfeed.
+final-reset /oe+
Reset printer after each print job. This is the default. You can
suppress resetting the printer by using +final-reset:off.
+initial-formfeed
If +initial-formfeed is active, a formfeed will be sent to the
printer before printing the first sheet. +initial-formfeed:off
suppresses the initial formfeed. This is the default.
+pause /oa+
Pause between printing sheets and wait for keyboard input to
allow for changing paper. The page number of the side to be
printed will be displayed in brackets preceding the prompt. When
you type <Return>, the next sheet will be printed. If you type
<A><Return>, all following sheets will be printed without pausing.
If you type <Q><Return>, printing will be stopped.
+xon-xoff /ox+
Use XON/XOFF flow control for COM1 to COM4 or use the BIOS for
LPT1 to LPT4. Output to COM1 to COM4 will be sent directly
to the port. If XON/XOFF protocol is to be used then the out-
put file must be given as COM1, COM2, COM3, or COM4. Output to
LPT1 to LPT4 will be done via the BIOS, not via DOS. To use the
BIOS to output to the parallel port, the output file must be
given as LPT1, LPT2, LPT3, or LPT4. +xon-xoff will be ignored
for any other output file (for example, AUX, PRN, file.prn). If
+xon-xoff:off is entered or the output is not to COM1 to COM4 or
LPT1 to LPT4, then output will performed using DOS functions.
This option is unnecessary under OS/2 and is not supported.
3.11.2 Options for all parameter files but itoh.dot and aiw.dot
---------------------------------------------------------------
+slow /s+
Printer slower, but with better quality. Depending on the param-
eter file, +slow:on causes dvidot to make two passes per line of
output (fx80.dot, for instance), to use unidirectional print mode
(fx80l.dot, for instance), or to tell the printer to use more ink
(bj300h.dot, for instance).
When making two passes per line of output, every line will be
printed twice, the first time printing dots 1, 3, 5, and so on and
the second time printing dots 2, 4, 6, and so on. The default
setting (+slow:off) prints about twice as fast but with poorer
quality on some antique printers (FX-80, for instance) that find
it difficult to fire a needle on two consecutive positions.
3.11.3 Options for the parameter files itoh.dot and aiw.dot
-----------------------------------------------------------
+form-length /hf#
Set the page length. For page ejects to work properly the page
length must be set. If the page length is set to 0 (0in, for ex-
ample, the default) the length defined by +height is taken as the
page length.
+slow /s+
Slow mode. By selecting +slow:on printing will be unidirectional
(itoh.dot sets also incremental print mode); the default,
+slow:off, sets bidirectional printing (itoh.dot sets also logic
seek mode).
3.12 Additional options for dvidot when generating graphics files
-----------------------------------------------------------------
dvidot has two principal modes of operations: printing on a dot matrix
printer and creating bitmap files. The mode is selected by the param-
eter file. This section describes the options applying to generating
graphics files.
3.12.1 Controlling the bitmap file
----------------------------------
+inverse /oi+
Inverse output. Use +inverse:off (default) to display black on
a white background, use +inverse:on to display white on black
background.
+minimize /om+
Create the smallest picture possible. The size of the rectangular
clipping region around the picture will be reduced to eliminate
(almost) all white space: the clipping rectangle will always be
set so that the picture touches the top, bottom and left-hand
edges but there may be some blank pixels between the rightmost
point of the picture and the right-hand edge of the rectangle
to make the width an integral multiple of 8, 16 or 32 pixels
(see parameter file). Zero and positive values of +left-margin
and +top-margin are ignored; by setting these values negative,
however, you can bring the left-hand or top edge (or both) of the
clipping rectangle inwards to cut off unwanted parts of the pic-
ture. The default is +minimize:off: the file will contain a pic-
ture of height set by +height and width set by +width.
3.13 Additional options for dvihplj
-----------------------------------
3.13.1 General options
----------------------
+close /os#
Close and reopen the output file after printing # sheets at
a time. For instance, this is useful for use with printer
spoolers. +close:0 (the default setting) disables this feature,
that is, the output file will be closed once at the end of the
print job. Note: # is given as number of sheets to ensure that
both the frontside and the backside are printed on the same
sheet if double-sided printing is in effect (+double-sided:long
or +double-sided:short). Prior to closing the output file, the
printer will be reset. After reopening the output file, the
printer will be reinitialized. This effectively splits the out-
put of dvihplj into several print jobs, allowing printing to start
while more pages are being output. See also +clear-fonts.
+delete-fonts /oz+
Delete temporary printer fonts. The default is +delete-fonts:on.
Use +delete-fonts:off to suppress deletion of temporary fonts;
don't forget to adjust +memory to reflect the memory used by the
temporary fonts.
+double-sided:long +double-sided:short /d:l /d:s
Double-sided printing, the printer (HP LaserJet III D, for in-
stance) automatically prints on both sides of the paper.
+double-sided:long is used for long-edge binding (the sheets are
bound along the length of the sheet), +double-sided:short is used
for short-edge binding (the sheets are bound along the width of
the sheet). The +copy-file and +copy-sheets options work as
expected with +double-sided:long and +double-sided:short.
+final-formfeed
If +final-formfeed:on is active, a formfeed will be sent to the
printer after printing the last sheet. This is the default.
+final-formfeed:off suppresses the final formfeed. That may be
resired if the operating system automatically appends a formfeed.
+final-reset /oe+
Reset printer after each print job. This is the default. You can
suppress resetting the printer by using +final-reset:off.
+font-offset /of#
Set the initial value for font ID numbers. The default is 0,
acceptable values are 0 to 32736. The fonts downloaded by dvihplj
to the printer will be given numbers from # to #+31. This option
allows the user to avoid overwriting fonts which have already been
downloaded which the user does not want deleted. However, dvihplj
will delete all temporary fonts unless +delete-fonts:off is given.
+initial-formfeed
If +initial-formfeed is active, a formfeed will be sent to the
printer before printing the first sheet. +initial-formfeed:off
suppresses the initial formfeed. This is the default.
+initial-reset /oi+
Reset printer before starting the print job. This is the de-
fault. You can suppress resetting the printer by using
+initial-reset:off.
+manual-feed
Feed paper from manual input. +manual-feed is a shorthand for
+source:2.
+source
Select the paper source. With +source:0, which is the default
setting, the selection of the paper source is left to the printer,
depending on +paper. Other settings are 1 through 6. The meaning
of those numbers depend on the printer model; see the user's
manual of the printer for details. See also +manual-feed.
+paper
Select the paper size. Valid arguments are:
A3 A3 (297mm x 420mm)
A4 A4 (210mm x 297mm)
B5 B5 envelopes (176mm x 250mm)
C5 C5 envelopes (162mm x 229mm)
Com-10 Com-10 business envelopes (4.125in x 9.5in)
DL DL envelopes (110mm x 220mm)
Exec Executive (7.25in x 10.5in)
Ledger Ledger (11in x 17in)
Legal Legal (8.5in x 14in)
Letter Letter (8.5in x 11in)
Monarch
Monarch letter envelopes (3.875in x 7.5in)
The argument is case-independent. If this option is used without
argument (+paper -- this is the default), the +width and +height
options are used for setting the size of the paper. If this op-
tion is used with one of the above arguments, the +width and
+height options are ignored by dvihplj. Moreover, on the HP
LaserJet series II and later, this option selects the paper tray
-- the printer asks you to insert another paper supply if the
selected paper size is not available.
+pause /oa+
Pause between printing sheets and wait for keyboard input to
allow for changing paper. The page number of the page to be
printed will be displayed in brackets preceding the prompt. When
you type <Return>, the next sheet will be printed. If you type
<A><Return>, all following sheets will be printed without pausing.
If you type <Q><Return>, printing will be stopped.
+printer-resolution /og#
Set printing resolution of printer. The default setting is 0,
which causes the printing resolution to be chosen according to the
printer model:
+printer-model │ Resolution
───────────────┼───────────
deskjet │ 300
deskjet500j │ 300
kyocera │ 300
laserjet │ 300
paintjet │ 180
quietjet │ 192
thinkjet │ 192
You can use +printer-resolution to choose a different resolution.
You should also set +resolution when setting +printer-resolution.
+xon-xoff /ox+
Use XON/XOFF flow control for COM1 to COM4, use the BIOS for out-
put to LPT1 to LPT4. See dvidot's +xon-xoff option for details.
3.13.2 Selecting the printer model
----------------------------------
+printer-model /op*
Select the printer model. This option tells dvihplj for which
printer model to generate output. The following settings are
available (additional options are required for settings marked
(*)):
+printer-model │ Printer model
───────────────┼───────────────────────────────────
deskjet │ HP DeskJet (500, 550)
deskjet500j │ HP DeskJet 500J (Japanese version)
kyocera │ Kyocera F-1010
laserjet │ HP LaserJet+ (and later models)
paintjet │ HP PaintJet (*)
quietjet │ HP QuietJet (*)
thinkjet │ HP ThinkJet (*)
The default is +printer-model:laserjet. The argument is
case-independent.
For +printer-model:paintjet, you have to set the resolution to 180
DPI and to use correct fonts, for instance, by using the p6l.cnf
configuration file.
For +printer-model:quietjet and +printer-model:thinkjet, you have
to set the resolution to 192 DPI and to use correct fonts.
3.13.3 Using additional features of a printer
---------------------------------------------
+compression /or#
Set graphics compression mode. You can set values in the range -1
to 2. The value 0 causes graphics data to be sent uncompressed.
The value 1 causes graphics data to be sent either uncompressed
or run-length encoded, depending on what method yields less data.
The value 2 causes graphics data to be sent uncompressed or TIFF
4.0 compressed, depending on what method yields less data. The
value -1 (default) lets dvihplj choose the compression mode
automatically based on the printer model:
+printer-model │ compression mode
───────────────┼─────────────────
deskjet │ 2
deskjet500j │ 2
kyocera │ 0
laserjet │ 0
paintjet │ 1
quietjet │ 0
thinkjet │ 0
If your printer model supports compression, you can decrease the
amount of output data by using +compression:1 or +compression:2.
The HP LaserJet III, for instance, supports +compression:2.
+download-limit
Limit the size of download characters. Character bigger than this
many bytes of memory (8 pixels are packed in one byte) are not
downloaded to the printer. dvihplj uses graphics mode for print-
ing big characters. You might want to use this option to save
printer memory when printing big characters which are used once or
rarely. The default is +download-limit:32767. You can use values
between 0 (don't download any character) and 32767.
+draft
Use +draft:on to print in draft mode (EconoMode) to save toner.
This option does not affect the resolution. Currently, only the
HP LaserJet 4L, 4ML, 4P and 4MP printers support draft mode. The
default is +draft:off.
+fonts-per-side /ow#
Maximum number of fonts per output page. If more than this
many fonts are required per output page, error message 2502
will be issued and the run aborted. The default is 16. Newer
printers support more than 16 fonts per output page; if you
are using such a printer, you can use set a bigger value for
+fonts-per-side to avoid error 2502. You should enter this option
when using built-in printer fonts. The maximum value is 32767.
+fonts-per-side:0 disables both checking the number of fonts per
page and checking the number of fonts per job.
+job-offset /oj+
Job offset. Some printers can offset sheets sideways in the out-
put tray. +job-offset:on will cause the output position to be
switched to the alternate offset so that the results of a sequence
of print jobs can be separated more easily.
+memory /om#
Printer memory size. This sets the available memory on the
printer in Kbytes: the default is 394. When dvihplj needs
more printer memory than specified with the +memory option,
the print job is aborted with fatal error 2501. If this value
is set to 0 then there will be no test for memory overflow.
If fonts are permanently downloaded then this value must be
appropriately reduced. +memory does not affect optimization or
any other property of the output. This option will be ignored if
+printer-model:deskjet or +printer-model:deskjet500j is set.
The following example tells dvihplj that there are 1500 Kbytes of
printer memory available:
Example: +mem:1500
3.13.4 Solving compatibility problems
-------------------------------------
+full-page-bitmap /ob+
If +full-page-bitmap:on is active, the sides will be printed using
a full-page bitmap. If +full-page-bitmap:off is set, download
fonts will be used. +full-page-bitmap:on may be required if your
printer is not sufficiently compatible to the LaserJet+. The op-
tions +printer-model:deskjet and +printer-model:deskjet500j set
+full-page-bitmap:on.
+clear-fonts /oc#
Delete all temporary fonts after every # pages. This may help
when there is not enough printer memory for holding all required
fonts, but requires more time. Default is 0: don't delete
fonts. +clear-fonts:0 may be required if your printer is not
sufficientlycompatible to the LaserJet+.
+optimize-graphics /oo+
Optimize graphics output. If +optimize-graphics:on is active
(default), bytes of zeros at the start and end of graphics
rows and -- if +compression:0 and +printer-model:laserjet or
+printer-model:kyocera is set -- wide gaps in graphics rows will
be not transferred. If +optimize-graphics:off is set, only
bytes of zeros at the end of graphics rows will be omitted.
+optimize-graphics:off may be required if your printer is not
sufficiently compatible to the HP LaserJet+.
+negative-top-offset /ov+
Setting +negative-top-offset:off may fix vertical placement
of characters which don't extend above the base line with
some printers (Toshiba PageLaser6, for instance). If
+negative-top-offset:on (default) is used, the Top Offset parame-
ter of down load characters whose pixels are entirely below the
base line is negative. With +negative-top-offset:off, dvihplj
will fill the character to the base line to make Top Offset 0.
This requires more memory.
3.14 An introduction to templates
---------------------------------
The earlier versions of the drivers used $s and $r to insert the
values of the font resolution and the PXL magnification into font
filenames; this facility has now been extended and the drivers use
templates to construct filenames from the parameters they are given,
such as the name and the resolution of a font. Note that the earlier
$s and $r are no longer valid and must be replaced by @RVr and @Rr
respectively. The template can be a constant, i.e., the file name
does not depend on any of the parameters, or it can evaluate to more
than one filename which will then be used in sequence. The evaluation
of a template is called its expansion.
A template which is not constant contains one or more template
characters which are comma (,), dollar sign ($), at sign (@) and
left and right braces ({}). A template which contains a dollar sign
or a comma may expand to more than one filename. If these template
characters are to appear as literal characters then they must be
preceded by the at sign (@) -- a literal dollar sign must be written
`@$'.
Multiple expansions are necessary when a font, or other file, can be
in one of several different directories; each expansion is evaluated
and the result is used to search for the file required, if the search
fails, the next part of the template is expanded and the process
continues until the file is found or there are no further expansions.
3.14.1 The simplest example of a template -- a constant template
----------------------------------------------------------------
The template
dviscr.dlg
which is intended for the +transcript-file option, simply contains the
filename: the expansion does not depend on any parameters and is just
this filename.
3.14.2 A simple example of a template
-------------------------------------
In the template
@d.dlg
`@d' is replaced by the name of the driver; if this is dvihplj then
this template will expand into `dvihplj.dlg'. Every driver has this
template as its default setting for the +transcript-file option as the
driver name is known by the time the template is expanded.
3.14.3 Template parameters
--------------------------
These are the template parameters, any of these parameters in a tem-
plate will be replaced by the value given in the table below.
@d replaced by one of the following driver names: dvihplj,
dviscr, dvivik, dvipm, dvidot.
@f replaced by the font name or the graphics filename; this pa-
rameter is to be used in conjunction with the +font-files and
+graphics-files options.
@i replaced by the name of the DVI file.
@p magstep: 0 to 9, h for magstephalf or u for unknown -- for use
with the +font-files option.
@m METAFONT mode -- see the description of the +metafont-mode op-
tion.
@b base resolution of the fonts in DPI -- see the description of
the +font-resolution option.
@r font resolution in DPI, a decimal fraction -- for use with the
+font-files option.
@g magnification, a decimal fraction -- for use with the
+font-files option, for example, 1.2
@u a number to make the file name unique -- for use with the
+mfjob-file option only
These parameters can be modified by inserting one or more letters
between the `@' and the parameter letter. For instance, the earlier
$s, which was replaced by the PXL magnification of a font, must now be
written @RVr. The modifiers for the various parameters are described
below.
3.14.4 Forming multiple expansions with a list
----------------------------------------------
Many of the driver options require a list of files, for instance, the
+font-libraries option takes a list of font library filenames. The
simplest way to do this is by entering a list of names separated by
commas but this is not always very convenient as it requires a lot of
typing and the length of a template is limited to 127 characters.
Because of this limitation, this example does not contain the usual
set of font libraries:
+font-lib:c:\texfonts\fx_0.fli,c:\texfonts\fx_1.fli,c:\texfonts\fx_2.fli
Note that earlier version of the drivers used semicolons as
separators, in this version the names are separated by commas. Spaces
are not allowed in templates as they are used to separate options in
the command line.
3.14.5 Forming multiple expansions with alternatives
----------------------------------------------------
It is clear from the preceding example that the expansions have quite
a lot of text in common, only differing, in this example, by one
digit. Templates therefore allow common text to be factored out with
the differing parts presented as a series of alternatives enclosed in
braces. The example above may be expressed in this way as follows:
+font-libraries:c:\texfonts\fx_{0,1,2}.fli
In expanding this template, the alternatives are selected in order
starting with the first after the opening brace. The template is
evaluated with this choice and the result used by the driver; if the
driver requests another candidate, the template is evaluated a second
time using the second alternative which (in this example) lies between
the first and second commas. A third expansion would be constructed
using the third alternative which appears after the second comma and
before the closing brace.
Any number of alternatives may appear between the opening and
closing braces. The text of an alternative may also be null as in
`{}' or `{,a}': in the first case the expansion is empty, in the
second case the first choice is empty, the second consisting only of
`a'. It it also possible to have only one choice as in {abc} which
always evaluates as `abc' -- the braces in this case are not needed.
Naturally the choices need not have the same length as, for example,
in:
+font-libraries:c:\texfonts\lj_{0,1,2,3,4,5a,5b,sli}.fli
A simple list of filenames separated by commas is a special case
of a set of alternatives. The driver automatically encloses a tem-
plate in opening and closing braces so the list appears as a list of
alternatives. If only one filename appears then it is a constant
choice as shown above in `{abc}'.
3.14.6 Multiple sets of alternatives
------------------------------------
When searching for font files it is useful to be able to construct a
pattern with more than one set of alternatives in it. With templates
you can not only do this but you can also nest alternatives. The
expansion of such a template consists of all possible combinations in
lexicographical order, that is, with the rightmost alternative in the
template changing most rapidly.
An example will best clarify this: the template
{1,2}{1,a{1,2}}
will give the following sequence of expansions
11
1a1
1a2
21
2a1
2a2
The template
{0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9}
will expand into all the three digit numbers from 000 to 999 in in-
creasing numerical order.
An example of this facility in use:
+font-files:{c:\texfonts\,d:\myfonts\,}@f{.pk,.pxl}
Note the empty alternative in the first pair of braces, this will have
the effect of searching the current directory for the fonts if they
are not found in either c:\texfonts or d:\myfonts. This may also be
written
+font-files:{c:\texfonts\,d:\myfonts\,.}@f{.pk,.pxl}
This is not the best way of handling alternative directories, in the
next section the advantages of keeping directory names in environment
variables rather than explicitly in options will be pointed out.
3.14.7 Environment variables
----------------------------
The names of directories are more conveniently kept in environment
variables so that, when the disk is reorganized it is not necessary to
edit all the configuration files. To further support this use of en-
vironment variables, they may also appear in templates. The name of
the variable is sandwiched between a dollar sign ($) and a colon (:)
as in $DVIDRVFONTS: for instance. The name of an environment vari-
able to be used in a template may not contain any of the special tem-
plate characters, that is, @ { , or } (at sign, comma and opening
and closing braces) -- this may be changed in a future release as
@d would be very useful in this regard, $@d: would expand into the
driver's special environment variable (DVIFX, DVILQL etc). The envi-
ronment variable is treated as if it was an alternative enclosed in
braces, the list of directories the variable contains (here separated
by semicolons, not commas) are entered into the expansion one at a
time in the order they appear in the variable. If a directory name in
the environment variable does not end in `:', `/' or `\' then a `\' is
automatically appended. Empty directory positions in the list, for in-
stance the two in
SET PATH=C:\DOS;;\D:\BIN;
will be ignored -- a template containing $PATH: set as above would
expand in exactly the same way if the SET command was
SET PATH=C:\DOS;\D:\BIN
The contents of the environment variable may include template
parameters (@b and @r are likely candidates) but alternatives are not
allowed.
Please note that $EMTEX: is a special case, to be described below.
An example of the use of an environment variable in a template:
+response-files:$PATH:@f
The response file @f will be searched for in all the directories
in the PATH variable -- note that `\' will be appended wherever
necessary. If the file should be sought first in the current direc-
tory, the template should be extended to
+response-files:{,$PATH:}@f
which is the default setting. If PATH has the value `c:\dos;;\;f:'
and the response file name (@f) is `test.res' then the template will
expand to the following sequence of pathnames:
test.res
c:\dos\test.res
\test.res
f:test.res
that is, {,$PATH:}@f is evaluated in the same way as
{,c:\dos,,\,f:}@f, the construction $PATH: being replaced by the value
of PATH.
Appending ! or !! to a directory name in the environment variable
enables subdirectory search. If ! is appended, that directory and one
level of subdirectories are searched; if !! is appended, that direc-
tory and all levels of subdirectories are searched. Directories are
visited before their subdirectories; no other search order is defined.
3.14.8 The emTeX directory ($EMTEX:)
------------------------------------
EMTEX is a pseudo environment variable, expanding to the path name of
the emTeX directory. As with real environment variables, a backslash
is added if required. If the EMTEXDIR environment variable is set,
$EMTEX: is treated like $EMTEXDIR:. Otherwise, the default value
`\emtex' is used. That is, $EMTEX: can be used even if EMTEXDIR is
not set. Therefore, it is recommended to use $EMTEX: instead of
$EMTEXDIR: in templates.
3.14.9 Template parameter modifiers
-----------------------------------
Template parameters may have their expansion modified by inserting one
or more characters from the set shown below between the @ and the pa-
rameter letter. The modifiers are:
0-99 _
Padding a parameter out to a given width with `0' or `_'. A
number from 0 to 99 will cause the parameter to be filled from the
left with `0' or `_' -- the number of positions to be filled is
given by the number's value. A number appearing with a numeric pa-
rameter will fill with zeros but appearing with a non-numeric pa-
rameter will fill with underscores. Use the underscore modifier
to fill a numeric parameter with underscores instead of zeros.
Examples:
@r │ @4r │ @4_r @f │ @5f
──────┼───────┼─────── ─────────┼─────────
1 │ 0001 │ ___1 a │ ____a
300 │ 0300 │ _300 abc │ __abc
20000 │ 20000 │ 20000 abcdefgh │ abcdefgh
F R T
rounding and truncating real numbers
F taking the fractional part of the number (may be empty)
R rounding the number to get the integer part
T truncating the number to get the integer part
.0-99
Decimals. The number will be rounded to this many decimals.
Note: The period must not be used immediately following the @, as
`@.' has a special meaning. Specify a field width instead, for in-
stance `@0.2r'.
Examples:
@r │ @0.3r │ @0.2r │ @0.1r │ @0.0r │ @7.1r │ @R.3r
───────┼─────────┼────────┼───────┼───────┼─────────┼────────
300.75 │ 300.750 │ 300.75 │ 300.8 │ 301 │ 00300.8 │ 301.000
300.74 │ 300.740 │ 300.74 │ 300.7 │ 301 │ 00300.7 │ 301.000
300 │ 300.000 │ 300.00 │ 300.0 │ 300 │ 00300.0 │ 300.000
P B E N
splitting path and file names A pathname consists of three parts:
the directory (including drive), the base name and the extension;
the base name and the extension are separated by a dot. For exam-
ple:
Pathname │ Directory │ Basename │ Extension
──────────────┼───────────┼──────────┼──────────
d:\test\a.dvi │ d:\test\ │ a │ dvi
xxx │ │ xxx │
xxx.zzz │ │ xxx │ zzz
c:xxx │ c: │ xxx │
a.b.c │ │ a.b │ c
Without a modifier, @f and @i will be replaced by the full
pathname of the file; using a modifier allows you to replace or
omit parts of the name. The modifiers below will cause the full
pathname to be replaced by:
P the directory portion of the pathname
B the basename
E a dot followed by the extension
N the basename, a dot (only if there is an extension) and
the extension.
More than one of these modifiers can be used with a single param-
eter, in which case they will be applied in the order P, B, E --
@BEf will be expanded as if written @Bf@Ef. If none of these
modifiers appear, the parameter will be replaced by the unchanged
pathname (PBE will end with a dot if there is no extension).
If an @f or @Pf parameter has a non-empty a directory part when
evaluated and it is not at the start of the expansion, that
is, preceded by at least one character, then that expansion
is silently ignored. This is done to avoid undesirable or
nonsensical expansions which would otherwise arise from templates
such as
{c:\fonts\,}@f
In this example, if @f expands to \ec\emr10 (non-empty directory
part) then the expansion
c:\fonts\\ec\emr10
will be discarded and only the expansion
\ec\emr10
will be used. If, however, @f expands to emr10 (filename only)
then the two expansions
c:\fonts\emr10
emr10
will be used. Examples:
@f │ @Pf │ @Bf │ @Ef │ @BEf │ @Nf
──────┼─────┼─────┼─────┼──────┼────
b │ │ b │ . │ b. │ b
b.e │ │ b │ .e │ b.e │ b.e
p\b │ p\ │ b │ . │ b. │ b
p\b.e │ p\ │ b │ .e │ b.e │ b.e
M V
Multiplication by a constant. M multiplies a numeric parameter by
1000 and V multiplies by 5. This allows the generation of direc-
tory or file names which depend on the font magnification as PXL
font names do, for instance
@r │ pxl@RVr
────┼────────
300 │ pxl1500
or names which depend in the magnification:
@g │ @Mg
─────┼─────
1.44 │ 1440
If more than one M or V modifier appears on the same parameter,
all but the rightmost one will be ignored.
The result is undefined on overflow (product greater than
65535.99998).
X Y
horizontal or vertical value. The resolution can be different
on the horizontal and vertical axes, these modifiers allow the
correct value to be selected with the @b or @r parameters. @Xb or
just @b will select the value set by the +font-resolution-x option
while @Yb will select that set by +font-resolution-y. If more
than one X or Y modifier it used with the same parameter, all but
the rightmost one will be ignored.
3.14.10 Default extension
-------------------------
To add an extension to a file name, unless the file name already has
an extension, you can use `@.'. For instance,
@f@.{msp,pcx,bmp}
creates the following file names:
filename │ filename.grf
─────────────┼─────────────
filename.msp │ filename.grf
filename.pcx │
filename.bmp │
`@.' works this way:
- If the expansion produced so far doesn't contain a `.' following the
last `:', `\' or `/' (or if the expansion contains a `.' but not
any of those characters), the file name doesn't have an extension.
In this case, `@.' will be replaced by a period and expansion
continues (with the extension).
- If the file name has an extension (each `.' (if any) is followed by
`:', `\' or `/'), expansion stops at `@.' (omitting the default ex-
tension).
Currently, `@.' does not work inside {...}.
3.14.11 Summary
---------------
@[0-99][_][FRT][PBEN][MV][XY](dfipmbrsg)
0-99 pad out with 0 (numbers) or _ (other parameters)
_ pad out with _
.0-99 decimals (@g and @r)
F fractional part
R integer part (round)
T integer part (truncate)
P path: directory part
B base name
E extension
N as BE but no dot if there is no extension
M multiply by 1000
V multiply by 5
X select horizontal value (default, if Y does not appear)
Y select vertical value
d driver name (string)
f font or picture name (string)
i DVI filename (string)
p magstep (0..9, h, u=unknown) (string)
m METAFONT mode (string)
b basic font resolution (fraction)
r font resolution in DPI (fraction)
g magnification (fraction)
u number to make file name unique, for +mfjob-file (integer)
{a1,a2,a3}
alternatives
$env:
environment variables
@@ @, @{ @} @$
special characters in templates
@.
default extension
3.14.12 Further examples
------------------------
The examples show some uses of @g.
@g │ mag@RMg │ mag@9.3_g
────┼─────────┼─────────────
1.2 │ mag1200 │ mag____1.200
4 Managing fonts
================
The dvidrv drivers will work with the following font file types:
Extension │ ID │ Description
───────────┼──────┼───────────────
PXL │ 1001 │ (32-bit words)
PXL │ 1002 │ (8-bit words)
PK │ 89 │ (packed)
The font files do not have to have one of these extensions as their
format is determined by their contents. PK font files with an ID of
87 can NOT be used!
The PXL file formats are obsolescent, you should use PK files instead
of PXL files.
In addition font libraries -- a dvidrv feature -- can be used. These
contain several font files saving disk space and processing time. By
gathering font files into libraries the number of files in directories
is reduced. Disadvantages are the size of the resulting libraries and
the amount of time spent in updating fonts. For more information see
the fontlib documentation.
4.1 Specifying font size (resolution)
-------------------------------------
You may need to specify a font size when the driver can't find a font
or when you are creating a font substitution file. The font size
is given in dots per inch (DPI) and, for TeX magsteps, will have
decimals after the point. To avoid the calculation and entry of long
decimal numbers, there is a more convenient method of specifying
magnifications: just append a colon and the magnification step (0
to 9, or h for 0.5) to the font size. For instance, 100:3 is an
abbreviation for 172.8 (100 * 1.2 ^ 3) and 300:h will be converted
to 328.63353. You can also write only the colon followed by the
magnification step without an explicit font size. In this case,
the font resolution set with the +font-resolution option will be
magnified. This is especially convenient in font substitution files
to specify a font size independent of the device (and its resolution).
4.2 Font substitution file format
---------------------------------
A font substitution file gives a list of fonts which can be used
to replace those called for in a DVI file: the names of the font
substitution files can be set with the +font-subst-files option though
the drivers will run without one. A font substitution file can
contain comments which are lines starting with `%'.
4.2.1 Substitution with and without batch mode
----------------------------------------------
A font substitution file has two parts only one of which is required.
The first replaces ALL matching fonts while the second describes what
is to be done when a font file cannot be found while +batch-mode is
active. The two parts are separated by the line
$b
If the font substitution file contains the first part only, `$b' can
be omitted.
ALL the rules in the first part are applied one after the other with
the result of one rule being passed on to the next one. Rules which
do not match remain unused.
The second part only has effect if +batch-mode is active and then
only when a font cannot be found. The substitutions in this part are
applied in turn to the original font name and size with the result
of one substitution not being carried forward to the next. After
each trial substitution the resulting font name and size are searched
for and the process ends when the search succeeds. If the search is
unsuccessful then the next rule is tried; if all rules fail then the
program ends with an error message.
4.2.2 Rule lines
----------------
Each line of a font substitution file contain one substitution rule if
it isn't a comment line or the line `$b': The font file name or the
size (or both) appear to the left of `->' while the name or the size
to be substituted appears on the right; this may be further followed
by an option. To use built-in printer fonts, `=>' is used instead of
`->', see below for details. You can choose from one of the following
formats:
font -> font [option] [comment]
size -> size [option] [comment]
font size -> font size [option] [comment]
Font names may contain special characters, see below. The size is
specified in dots per inch (DPI); you can use a magnification step
using preceded by a colon, for instance, `:2' or `300:1'. The charac-
ter `*' stands for an arbitrary size if used to the left of `->'. To
the right of `->', `*' stands for the size of the original font.
4.2.3 Options in font substitution rules
----------------------------------------
At most one of the following options can be used for each substitution
rule:
/b All characters of the font will be replaced by black
filled rectangles. If there's no font file, a TFM file is
sufficient.
/r All characters of the font will be replaced by black rectangle
outlines. If there's no font file, a TFM file is sufficient.
dvidot and dvihplj treat /r like /b and print black filled
rectangles instead.
/w The font is made invisible, i.e., a font file is still
required (a TFM file is sufficient) but the characters of the
font will be replaced by white space. This feature can be
used for the invisible SliTeX fonts.
/d All characters from the font are discarded entirely, there
won't be white space for the characters. This results in
wrong positions of other objects. Therefore, warning message
1211 will be displayed. No font file is required.
Rules which don't include an option don't change the mode set by op-
tions of rules which matched previously. That is, you cannot put a
font back into the default mode (printing characters) after applying
an option.
4.2.4 Matching font names
-------------------------
Three special characters can be used in font names: `*' must be given
at the end of a font name and causes the remaining characters of the
name to be ignored. `*' in the replacement name is replaced with the
characters that were matched by `*' in the original font name. `@'
matches (in the original font name) any single character. You cannot
use `@' in the replacement name. `?' also matches (in the original
font name) any single character. In the replacement font name, `?'
is replaced by the character matched by the corresponding `?' in the
original font name (the replacement name must contain the same number
of question marks as the original name). Note that while `@' and `?'
may have name characters following them, `*' may only appear as the
last character. Here is a concocted example which shows the effect of
each character:
aaa?bb@cc?dd* -> x?y?z*
This rule will replace the font name `aaa1bb2cc3dd456' by `x1y3z456'.
This does NOT match the font name `aaabb2cc3dd456'.
4.2.5 Using built-in printer fonts
----------------------------------
dvihplj supports using built-in printer fonts. A font substitution
file is used for mapping TeX fonts to built-in fonts. To map a TeX
font to a built-in font, a different type of rule line is used:
font [size] => pcl: <selection>
Following the `pcl:' keyword, the PCL commands to select the built-in
font are listed, separated by blanks. The `Esc (' or `Esc )' prefix
used in font selection commands must be omitted.
You can use `*' in place of a specific size on the left hand side of
the `=> pcl:' part of the rule. If `*' is used for the size, it can
also be used in a selection value. In this case, the numeric part of
the selection value will be multiplied by the magnification of the
font. Example:
trr10u * => pcl: 10U s1P s*10V s0S s0B s5T
This rule causes dvihplj to replace all occurrences of the
font `trr10u' with the built-in font that is selected with
`<ESC>(10U<ESC>(s1p??v0s0b5T'. The height of the font (shown as ??)
is replaced by 10 times the magnification of `trr10u' in the DVI file.
This makes sense for scalable fonts only.
Note that a TFM file is required for each built-in font. Built-in
printer fonts can be used with +transformation:0 only. For
the HP LaserJet III and later models (such as the HP LaserJet
4), +transformation:0 through +transformation:3 are supported.
+full-page-bitmap:on also disables built-in printer fonts.
If the TFM file contains parameters for selection of a PCL font, those
parameters are used first. Then, the font selection commands from the
font substitution file are used.
dvihplj can use built-in fonts without a font substitution file if the
TFM files contain PCL font selection information.
4.2.6 Example
-------------
This example file shows some applications of font substitution files:
%
% Example font substitution file
%
am* -> cm* % replace am fonts by cm fonts
longfontname -> lfn % change name
305 -> 300 % change size
600 -> 300:4 % change size
cmr12 :0 -> cmr10 :1 % cmr12 scaled 1000 -> cmr10 scaled 1200
i* -> * /w % invisible SliTeX fonts
fancy -> fancy /b % replace characters by rectangles
dummy -> dummy /d % discard characters
$b % rules for +batch-mode are following
* * -> * :0 % keep name, size := +font-resolution
* * -> cmr10 :0 % name := cmr10, size := +font-resolution
* * -> * * /r % replace by rectangles, call MFjob
4.3 Font search rules
---------------------
1. The font size is replaced by the closest available size, according
to +font-size-tolerance and +font-sizes. The font name and size
are converted according to the rules in the first part of the
font substitution file -- ALL rules are applied one after the
other. If the font size has been changed by the font substitution
process, it will again be replaced by the closest available size.
2. If +change-mode is active, you have a chance to change the name
or size of the font, to enter a different font name or to enter a
file name.
3. If the /d option is set for the font, no font will be sought; all
characters of the font will be omitted.
4. The font is sought according to the values set by the
+virtual-fonts, +font-libraries and +font-files options. If a
font is not found and the /b, /r or /w option is set for the
font, then a TFM file is sought according to the value set by
the +tfm-files option. If a font is not found, dvihplj tries to
load a TFM file for a built-in font. The TFM file must include
information for PCL font selection.
5. If +batch-mode is active and a font substitution file has a second
part (after `$b'), the name/size resulting from (1) above is
converted using one of the rules, the size replaced by the closest
size according to +font-size-tolerance and +font-sizes and this
name and size used for a search according to the values set by
the +virtual-fonts, +font-libraries and +font-files options. If
/b, /r or /w is set for the font, additionally a TFM file will be
sought according to the value set by the +tfm-files option. All
this is done for each rule in turn.
6. The font is marked for generation by MFjob and METAFONT.
7. If batch mode is active (+batch-mode option) and there is no font
substitution file with a second part, the following rules will be
used instead following the procedure in (5) above:
* * -> * :0
* * -> cmr10 *
* * -> cmr10 :0
* * -> * * /r
* * -> * * /d
8. If batch mode is active and the font is still not found, the
driver stops with a fatal error message. This can only happen if
you have changed the rules for +batch-mode, as the last default
rule uses /d.
9. If the font is not found, the user is asked for another font name,
size or file name -- see below.
If the search fails and batch mode is not active (+interactive-mode is
the default), the user is asked for help, displaying the font name and
the size of the form
font<xxxx>
where xxxx is the font size (DPI). Replacing the size with
the closest available font size according to the settings of
+font-size-tolerance and +font-sizes has already taken place.
You should then enter a font name, a font size or a file name. More-
over, you can use one of the options for replacing characters with
rectangles or white space or for omitting characters. Moreover, you
can activate +batch-mode, +change-mode and +interactive-mode. You can
enter multiple values in one line, the values must be separated by
blanks. After reading the values given in a line of input, the font
will be searched again using the changed values. If the line ends
with `&', the search after reading this line will be suppressed.
The following values can be entered:
name
choose a new font name. `name' must not contain the characters
`\', `/', `.', and `:'
size
choose a new size, (new xxxx value of `font<xxxx>'). The new size
will not be replaced with the closest available size. Examples:
300 300 DPI
:2 scaled 1440 (1.44 * +font-resolution)
204:h 204 DPI magnified 1.2^0.5 (= 233.47081)
See `Specifying font size (resolution)'
file_name
choose a complete file name (the input contains one of the
characters `\', `/', `.', or `:'). The driver will try to
read this file (ignoring +virtual-fonts, +font-libraries and
+font-files). Therefore, you should enter the complete path name,
including the extension
empty_line
search. If you don't want to change a value when using
+change-mode, just hit the return key
+
multiply the size by 1.2
-
divide the size by 1.2
/b
replace all the characters in the font by a black block. A font
file is still required, a TFM file is sufficient
/r
replace all the characters in the font by a rectangle outline. A
font file is still required, a TFM file is sufficient. dvihplj
and dvidot cannot print rectangle outlines, these drivers will
treat /r like /b
/w
make all the characters in the font invisible. A font file is
still needed but the characters therein are not printed. A TFM
file is sufficient. This is useful in analyzing unusual effects
/d
all characters from the font are discarded entirely, there
won't be white space for the characters. This results in wrong
positions of other objects. Therefore, warning message 1211 will
be displayed. No font file is required
$a
apply +batch-mode to the current font. If you have changed the
name or size of the font, the changes will be ignored. The re-
maining values on the input line are ignored. +batch-mode or
+interactive-mode will be used for the next font, depending on the
current mode. If you want to apply +batch-mode to all remaining
fonts, use `$b'
$b
activate +batch-mode for this and all remaining fonts. If you
have changed the name or size of the font, the changes will be
ignored. As no further questions will be asked, you won't be able
to turn off +batch-mode
$c
activate +change-mode for the next and all remaining fonts
$i
activate +interactive-mode. If +change-mode was active, you won't
be asked before the next (and all remaining fonts) will be sought
Examples:
cmr10 :1
use cmr10 scaled 1200
- -
decrease size by factor 1.44
d:\myfonts\xyzzy.pk
use this font file
cmr10 300 /r
use rectangles for cmr10.tfm at 300 DPI
$b
activate +batch-mode
+ &
Increase size by factor 1.2, ask again
If +interactive-mode is active, all missing fonts are marked for gen-
erating with MFjob and METAFONT, even if you have entered a replace-
ment font. The original, missing font will be generated. Your input
doesn't influence which fonts will generated in which sizes.
If +change-mode is active, missing fonts will not be marked for gener-
ating with MFjob and METAFONT.
4.4 Generating missing fonts automatically with MFjob and METAFONT
------------------------------------------------------------------
Missing fonts can be generated in the required magnifications from
their METAFONT sources. The following command line options are
required:
+batch-mode
Automatically replace missing fonts. You can use
+interactive-mode but then you will be prompted for a replacement
font for each missing font. If +change-mode is active, missing
fonts will not be generated automatically
+metafont-mode
METAFONT mode for the output device. This option is set in the
configuration files that come with the drivers
+mfjob-file
Name of the MFjob file. Under DOS, this option is set by the
dvidrv.exe program. Under OS/2, the default value can be used
If these options are correctly set -- and if there are fonts missing
-- the driver will create a file (with the name specified by
+mfjob-file) which will contain commands for MFjob (version 1.1m or
later) which are required for generating the missing fonts. Then, the
driver will ask the following question:
Warning 1209: do you want to call MFjob to generate # missing fonts now?
Type Y, N or ?:
If you type N, computing (printing or output to a file or to the
screen) will continue -- but with replaced fonts. If the MFjob job
file isn't deleted by dvidrv (or your batch file), you can generate
the missing fonts by calling MFjob after printing (not recommended) or
viewing the DVI file.
If you type Y, the action taken by the driver depends on the operating
system and on the +call-mfjob option: Under DOS (or if +call-mfjob:off
is set under OS/2), the driver will stop with return code 8 (which
can be checked with IF ERRORLEVEL). If the driver was started by
dvidrv, MFjob will be called by dvidrv, then the driver again. If
+call-mfjob:on (the default value) is set under OS/2, the driver di-
rectly calls MFjob, deletes the MFjob file and reloads the DVI file.
If you type ?, the driver displays a list of the fonts to be gener-
ated. The list includes names and magnifications of the fonts.
The MFjob job file will look like this:
input [dvidrv];
{
driver=dvidot;
mode=lqlores[180 180];
output=pk[$DVIDRVFONTS:pixel.p6l\@Rrdpi\@f{.pk,.pxl}];
{font=cmr10; mag=0.5;}
{font=cmbx10; mag=0.5;}
}
Here's a short explanation:
input [dvidrv]
insert declarations from dvidrv.mfj
driver=
name of the driver, used for replacing @d
mode=
mode and resolution (set with +metafont-mode and +font-resolution)
output=
path for output files (set with +font-files)
font=
name of the font
mag=
magnification of the font
Keep in mind that MFjob will use only the FIRST expansion of the tem-
plate given in the output= declaration. In the example above, the
font files cmr10.pk and cmbx10.pk will be created in the FIRST direc-
tory listed in the DVIDRVFONTS environment variable, under directory
pixel.p6l\#dpi (# will be replaced by 90). The FIRST extension from
the list of alternatives will be used.
You should ensure that the first directory set by +font-files is
writable. You can create an separate directory for automatically gen-
erated fonts -- this directory should be listed first.
Under DOS, it is recommended to use the program `dvidrv', which takes
care of setting +mfjob-file to a unique file name (of a non-existent
file) to prevent problems with multiple users (network!) working in
the same directory. dvidrv will also call MFjob and -- after generat-
ing the fonts -- the driver again.
dvidrv will create the temporary MFjob file in the directory given by
the TMP environment variable (use SET TMP=F:\, for instance). If TMP
isn't set, the root directory of the current drive will be used, which
must be writable.
As an alternative to dvidrv, you can use the following batch file, but
it doesn't work when running multiple drivers concurrently in the same
directory:
@echo off
:loop
dviscr @lj.cnf /fl:-1 %1 %2 %3 %4 %5 %6 %7 %8 %9 /pj:dvihplj.mfj
if errorlevel 9 goto end
if not errorlevel 8 goto end
mfjob dvihplj.mfj
if not errorlevel 1 goto loop
:end
4.5 Using built-in printer fonts
--------------------------------
dvihplj can use built-in fonts unless the entire page is printed as
bitmap (+full-page-bitmap). The simplest way to use built-in fonts
is to use TFM files which include information for selecting PCL
fonts. When the +tfm-files option is correctly set, dvihplj will
automatically use these fonts.
Moreover, you can select built-in fonts by adding special rules to the
font substitution file.
5 Using dviscr and dvivik
=========================
5.1 Keyboard functions for dviscr and dvivik
--------------------------------------------
Note that it is impossible to go outside the `sheet' defined by +width
and +height. You can use the following keys, upper case and lower
case isn't distinguished:
<Ctrl>+<C> <Q>
exit from the program
<left arrow>
move the window half the screen width to the left (for smaller
movements, see <F> and <C>)
<right arrow>
move the window half the screen width to the right (for smaller
movements, see <F> and <C>)
<up arrow>
move the window half the screen height upwards (for smaller
movements, see <F> and <C>)
<down arrow>
move the window half the screen height downwards (for smaller
movements, see <F> and <C>)
<4>
move the window to the left by the screen width
<6>
move the window to the right by the screen width
<8>
move the window upwards by the screen height
<2> <spacebar>
move the window downwards by the screen height
<Home>
move the window to the initial position (chosen with +home-x and
+home-y options or <H>)
<7>
move the window to the top left-hand corner of the page
<End>
move the window to the bottom left-hand corner of the page
(+home-x option or <H>)
<1>
move the window to the bottom left-hand corner of the page
<Ctrl>+<left arrow>
move the window to the left margin
<Ctrl>+<right arrow>
move the window to the right margin
<PageUp> <9> <F7>
to the previous page
<PageDn> <3> <F8>
to the next page
<Ctrl>+<PageUp>
to the first page
<Ctrl>+<PageDn>
to the last page
<I>
reversed image toggle
<D>
refresh the screen image
<H>
make the current position the home position (see +home-x, +home-y,
<Home> and <End>)
<F>
this reduces the window movement caused by the arrow keys; it has
6 steps
<C>
this increases the window movement caused by the arrow keys; it
has 6 steps
<G>
go to one of the pages selected for display. Enter a number from
1 to the number of selected pages -- this page will then be dis-
played.
<O>
return to the previously displayed page -- to be used after a <G>,
<P>, <S>, <Ctrl>+<PageUp> or <Ctrl>+<PageDn> command. The driver
holds up to the last 20 pages displayed. The page is displayed
so that the point marked by the ruler or the middle of the page
appears in the same position on the screen.
<P>
display a page with a given page number, the page number must be
entered. The page with this page number is first sought starting
from the current page going towards the end of the file, if it
isn't found then the search restarts at the beginning of the file.
Page numbers can contain *, for example, 1.*.5
<R>
toggle the ruler display
<Ctrl>+<R>
toggle the scale on the ruler
<S>
search for text: the search starts at the beginning of the current
page (or the point at which the search last stopped). Pages are
then sought starting at the current page and moving towards the
end of file. If this fails then the search starts again at the
beginning of the file. The search can be terminated by pressing
the Esc key. If no text is entered, the text from the last search
is used again. The search is case sensitive, hyphens and spaces
are ignored. The text can also include accented characters. If
the text contains an illegal character, for instance, `\' can't
appear in it, the driver beeps. The ruler is placed on the refer-
ence point of the first character of the text.
<W>
toggle the effect of the arrow keys -- either the window or the
ruler (if present) is moved. After enabling the ruler with <R>,
the arrow keys move the ruler. This function affects the four
arrow keys, <Ctrl>+<left arrow>, <Ctrl>+<right arrow>, <Home> and
<End>. The other keys continue to move the window. The effect
of <F> and <C> is also changed, altering the rate at which the
ruler is moved around independently of the setting for the window
movement.
<U> <Ctrl>+<U>
change the dimension unit: <U> moves forward through the usual
list of 10, <Ctrl>+<U> moves backward. These dimension units
are used in the status line and the ruler display. See also
+ruler-unit.
<+> <->
change the gray scale display or scaling (zoom). If possible,
a gray scale is used, otherwise scaling. The relation between
the values set by +zoom-x, +zoom-y or +scaling-x, +scaling-y is
preserved. This means that a scaling of +scaling-x:7 +scaling-y:8
cannot be changed. <+> increases the size of the picture, <->
reduces it.
<Alt>+<G> <Alt>+<S>
change the gray scale setting or scaling (zoom). One or two
digits in the range 1 to 8 can be entered; these are taken to
be the new factors for the gray scale (<Alt>+<G>) or scaling
(<Alt>+<S>). If only one digit is given then it is taken as both
the X and Y value (like +zoom and +scaling). If two digits are
entered then these are used as the X and Y factors (like +zoom-x
and +zoom-y or +scaling-x and +scaling-y).
<T>
dviscr and dvivik can change the transformation dynamically by
following <T> by a digit from 0 to 7 and <Enter>. This is,
however, not possible if +font-resolution-x and +font-resolution-y
were used to set different values and you wish to switch between
transformations 0, 2, 5 or 7 and 1, 3, 4 or 6. Moreover, you can-
not change the transformation when making a book, that is, when
+section-count or +section-size has a non-zero value.
<K>
this toggles the coordinates used for the arrow keys between
screen coordinates and transformed coordinates (if the display
is rotated (do this on your own risk)). When <K> is pressed the
arrow keys are transformed, pressing it again returns to the
initial state.
For functions <+>, <->, <Alt>+<G>, <Alt>+<S>, and <T> the midpoint
of the screen (or, if the ruler is enabled, the point marked by the
ruler) is kept in the same position on the screen.
Rotations are also made around this point, reflections put this point
on the reflection axis and the size is changed with this point at the
centre. If this causes the window to fall outside the page then the
window is moved as necessary so that it lies wholly within the page
(if possible).
5.2 Entering numbers
--------------------
Numbers are displayed in the status line, if it is enabled. Errors
can be corrected with the backspace key or left arrow key, Esc ends an
incorrect entry, Enter accepts the number.
If no status line (see +status-line:off) is displayed, numbers must be
entered blind. An initial beep shows that entry may begin (an initial
(optional) sign followed by digits only), backspace, left arrow, Esc
and Enter have the same effect. An illegal input causes a deeper
beep. After pressing Enter, a higher tone is sounded.
5.3 Understanding the status line
---------------------------------
The status line displays the following information:
1. At the left-hand end the step selected by <F> and <C> is dis-
played.
2. To the right of this is either `R' (ruler moves), `W' (window
moves) or, if there is no ruler, nothing.
3. A little bit further right if gray scaling is possible, `Gxy'
appears otherwise `Sxy'. These are the values set by +zoom-x,
+zoom-y, +scaling-x and +scaling-y -- and altered by <+>, <->,
<Alt>+<G> and <Alt>+<S>.
4. The side number (the first side selected is side 1) appears in the
middle of the line together with the page number. For example,
5: 10.7
shows side 5. The first page on side 5 has page number 10.7.
5. To the right of this the coordinates of the top left-hand corner
of the window are shown (if transformed, this is not necessarily
the top left-hand corner of the screen: for example, in
transformation 1 the coordinates are those of the bottom left-hand
corner of the screen). The position display
x=0pt y=0pt
is the top left-hand corner of the sheet. If the ruler is
graduated then the distance between two (short) gradations is
displayed as well. The gradation is chosen to make this a read-
able distance. Every tenth gradation is somewhat longer than the
others.
6. A `W' is displayed near the right-hand end of the line if warnings
messages have occurred while dviscr or dvivik was in graphics
mode.
7. A `*' is displayed at the right-hand end of the line while the pic-
ture is being built up or while a text search is in progress.
The status line can be removed by the option +status-line:off.
6 \special
==========
The drivers take note of all \special's beginning with `em:'; blanks
may appear between `em:' and the following keyword (`graph', `point',
`line', `linewidth', `pcl' or `pclfile').
Any \special's which do not start with `em:' are silently ignored.
The drivers can understand the following \special's:
\special{em:graph xxx}
Insert the graphics file xxx at this place. The upper left corner of
the picture is located at the reference point of a character were it
to appear here. You can use MSP (MS Paint under Windows 1.x and 2.x),
PCX (Paintbrush) and black and white BMP files. 4 color CGA mode PCX
files cannot be used. Run length encoded BMP files cannot be used.
All non-white pixels of a PCX file are printed (assuming the standard
palette). For efficiency reasons, usage of MSP files (Windows 2.x) is
recommended. The width of the picture must not exceed 32760 pixels,
the height must not exceed 32766 pixels. Example (the size of the pic-
ture is 21pt by 23pt):
\begin{center}
\begin{picture}(21,23)
\put(0,23){\special{em:graph dvitrans.2}}
\end{picture}
\end{center}
If a graphics file is not found while +batch-mode is active, the pic-
ture will be omitted and warning message 1303 will be displayed. If
a graphics file is not found while +batch-mode is not active, you
will be prompted for the name of the graphics file. If you enter /d,
the picture will be omitted. If +change-mode is active, you will be
prompted for a file name for each \special{em:graph} command before
the driver tries to open the graphics file. If +omit-graphics:on is
in effect, \special{em:graph} is ignored.
\special{em:point n[,[x],[y]]}
\special{em:line a[h|v|p],b[h|v|p][,width]}
\special{em:linewidth width}
\special{em:moveto}
\special{em:lineto}
With these commands lines can be drawn at any desired angle. A point
n (1 to 32767) is defined with \special{em:point n} and gets the co-
ordinates of the reference point. If x or y or both are specified,
these values override the coordinates of the reference point. For in-
stance,
\special{em:point 1,10pt}
defines point 1 10pt to the right of the left margin and with the Y co-
ordinate of the reference point.
\special{em:point n} commands can be positioned using the LaTeX pic-
ture environment. For plain TeX, see page 389 of The TeXbook. Two
such points can be joined by a line: \special{em:line a,b,width} joins
the points numbered a and b with a line `width' thick -- the width can
be given in any unit acceptable to the +unit option except px. The
point numbers can have `h', `v' or `p' appended showing how the end of
the line should be cut. `p' causes the line to be cut perpendicular
to its direction, `h' make a horizontal cut and `v' a vertical cut.
`p' is used as default if no cut mode is specified. Note that a hori-
zontal line cannot have a horizontal cut nor vertical line a vertical
one!
Example:
\special{em:line 1,2v,4pt}
Points need not be defined before the lines which refer to them.
Point and line definitions are local to the current page.
If a number of lines with the same width are to be drawn,
\special{em:linewidth width} can be used to set the default
width for all subsequent lines without a `width' argument --
\special{em:line a,b}. The initial setting of the default width
is 0.4pt; any \special{em:line a,b} appearing BEFORE a `linewidth'
special will have this width. To avoid errors, the required line
width should be set before each picture composed of lines.
There are other commands for line drawing. \special{em:moveto}
sets the current (drawing) point to the coordinates of the refer-
ence point without drawing a line: \special{em:lineto} draws a
line between the current point and the reference point, the ref-
erence point then becomes the current point. A polygon can be
drawn with one \special{em:moveto} and a number of subsequent
\special{em:lineto} commands. The width of the line will be that set
by \special{em:linewidth width}.
\special{em:pcl string}
This command is ignored (without warning message) by all drivers
except dvihplj. All blanks directly following em:pcl are skipped.
The remaining characters are copied unmodified into the output after
moving the cursor to the reference point. The following example
prints a gray rectangle of height and width 0.5in:
\special{em:pcl ^^1b*c15g360h360v2P}
\special{em:pclfile name}
This command is ignored (without warning message) by all drivers
except dvihplj. The file `name' is copied unmodified into the out-
put after moving the cursor to the reference point. dvihplj seeks the
file with the specified name only, that is, in the current working di-
rectory if no absolute path name is given. Example:
\special{em:pclfile myfile.pcl}
7 Miscellaneous topics
======================
7.1 General notes
-----------------
If the DOS versions of the drivers run out of memory, expanded memory
(EMS 4.0) and extended memory will be used. If there is no or not
enough expanded memory or if usage of EMS and XMS has been disabled
(see +use-ems:off and +use-xms:off), a temporary file will be created.
You can select the directory used for the temporary file by setting
the TMP environment variable. If TMP isn't set, the temporary file
will be created in the root directory of the current drive. Normally,
the temporary file will be deleted automatically. The name of the tem-
porary file starts with `dv' followed by a number.
The driver dvidot (as well as dviscr and dvivik if +zoom is used) will
not print characters which have a pixel row falling above the top
paper edge.
Fonts may only contain characters with codes in the range 0 to 255.
The width of a character may not exceed 32760 points and the height
32766. If a character needs more than 32000 bytes of memory (say,
504x507 points) the driver slows down noticeably.
If MS-DOS or PC-DOS issues a printer timeout error in the middle of
printing then you should this command to remove timeout checks:
mode lpt1,,p (DOS 2.x and 3.x)
mode lpt1 retry=r (DOS 4.0 or later)
where lpt1 is to be replaced by the correct printer port designation.
You may want to use the +xon-xoff:on option when printing to the ports
LPT1 to LPT4.
The text of error messages is read from the file dvidrv.err. This
file must be in the `data' subdirectory of the emTeX directory. This
file has been created to save memory, not so that the user can change
the messages.
7.2 Output with the +verbosity:4 option
---------------------------------------
7.2.1 dvihplj
-------------
At the end of each page: <a+b,c,d>
a is the memory used for fonts
b is the memory used for this page
c is the number of fonts defined so far
d is the number of fonts used on this page
7.2.2 All drivers
-----------------
At the end of the program the memory usage, for example
page buffers 4 40024
This means that 4 page buffers using a total of 40024 bytes were used.
This memory usage table will also be printed (without +verbosity:4) if
there is not enough memory.
7.3 Return codes (ERRORLEVEL)
-----------------------------
The following return codes are passed to the parent process:
0 No errors
1 Bad argument
2 Bad \special command
8 Fonts are to be generated
9 Error (dvidrv.exe program)
100 Not enough memory
101 Not enough memory or disk space
200 Bad DVI file
201 Bad font file or font not found
202 Bad graphics file or graphics file not found
203 Bad VF file
204 Other error
254 Internal error
You can use IF ERRORLEVEL in batch files to check the return code.
7.4 Known bugs
--------------
Old versions of DR-DOS 5.0 will not allow output directly to a paral-
lel port (for example, PRN) -- you must use option +xon-xoff:on (use
the BIOS for output) together with LPT1 to LPT4, or COM1 to COM4.
There seems to be a bug in the Video 7 PM driver which causes dvipm to
abort.
Virtual fonts currently cannot reference themselves directly or indi-
rectly at a different size.
dvipm doesn't reclaim all memory when opening a new DVI file. If
dvipm runs out of memory after opening several DVI files, restart
dvipm.
8 Installation of the printer drivers and the screen previewers
===============================================================
Unpack the betatest package as follows:
c:
cd \
unzip -o a:dvid15f1
unzip -o a:dvid15f2
or
pkunzip -d -o a:dvid15f1 c:\
pkunzip -d -o a:dvid15f2 c:\
This example assumes that dvid15f1.zip and dvid15f2.zip are on the
diskette in drive A: and that emTeX is installed on drive C:.
1. As dvimsp has been replaced with dvidot, you should delete
\emtex\dvimsp.exe, \emtex\msp*.bat and \emtex\msp*.cmd.
Some files have been moved from the \emtex directory to
\emtex\data. Therefore, you should delete the following files in
\emtex: *.cnf, *.dot, *.sub, dvidrv.err, fontlist.
If you are using non-standard DOT files, you have to use
makedot -c filename.ext
to recreate them from the text files.
If you are using your own batch files, please note that dvidrv.exe
is no longer used under OS/2.
2. If you have got font diskettes, copy the fonts to the disk. For
example, to install them on drive c: do as follows:
md c:\texfonts
copy a:*.fli c:\texfonts
The last line has to be repeated for all suitable font diskettes.
The fonts should if possible not be put into a directory under
\emtex, in order to simplify the installation of a new version
of emTeX (that is, without having to copy the fonts again to the
disk).
3. If you don't have fonts or if you don't have all required fonts,
install METAFONT and MFjob, i.e., packages MF and MFWARE. Missing
fonts will be generated automatically when required. MFjob 1.1m
or later is required. See section 4.4, `Generating missing fonts
automatically with MFjob and METAFONT'.
4. The following environment variables should be set:
DVIDRVINPUT
search path for dvi files
DVIDRVFONTS
search path for fli files
DVIDRVGRAPH
search path for graphics files
EMTEXDIR
the emTeX directory
For example, this can be done by
set dvidrvinput=c:\mytex;c:\emtex\doc;c:\emtex\doc\english
set dvidrvfonts=c:\texfonts
set dvidrvgraph=c:\mytex;c:\emtex\doc
set emtexdir=c:\emtex
Note that the environment variables should not contain whitespace.
When using `Cut & Paste' blanks may sneak in at the end of the
lines.
The directories c:\emtex\doc\english (DVIDRVINPUT) and
c:\emtex\doc (DVIDRVGRAPH) are used for printing the dvidrv
manual.
All these lines should be put in the file autoexec.bat (config.sys
for OS/2). \emtex\set-tex.bat or \emtex\set-tex.cmd can be used
as models, or modified and called by autoexec.bat. If you don't
want to set the environment variables (or if you cannot), you have
to insert the desired directories into the configuration files
(*.cnf) after renaming.
5. To use dviscr under OS/2 or if you use dvipm and want the VGA or
8514/A palette to be modified for better gray scaling, you should
insert the line
IOPL=YES
into config.sys (unless already done). If you don't need the
spooler of OS/2 1.x, you should disable it. Under OS/2 2.x,
you can tell the spooler to print while receiving data from an
application program. This setting is recommended.
Several OS/2 environment variables (and the value of LIBPATH)
should be supplemented in config.sys. This is done by appending
the additional pathname to the end of the appropriate line of
config.sys, separated with a semicolon from the previous value. A
semicolon at the end of the line is optional.
The HELP environment variable should be supplemented with
\emtex\help for dvipm on-line help. The HELP environment variable
must be set in config.sys. Example:
SET HELP=C:\OS2\HELP;C:\EMTEX\HELP
Moreover, you should supplement the BOOKSHELF environment variable
with \emtex\book\english to be able to view the dvidrv on-line
documentation by typing
view dvidrv
Example:
SET BOOKSHELF=C:\OS2\BOOK;C:\EMTEX\BOOK\ENGLISH
To use dvipm, the files dvipmres.dll, emdll1x.dll, emdll1x2.dll,
emdll2x.dll and emx.dll must be in a directory specified by the
LIBPATH entry in config.sys. Add c:\emtex\dll (insert the correct
drive letter) to LIBPATH. Example:
LIBPATH=.;C:\OS2\DLL;C:\OS2\MDOS;C:\;C:\OS2\APPS\DLL;C:\EMTEX\DLL
When using OS/2 1.x, you should modify vp.cmd to run dvipm16.exe
(or dvipm167.exe to take advantage of the numeric coprocessor if
you have one) instead of dvipm.exe.
Reboot to make the changes to config.sys take effect.
6. Now the following batch files can be used:
v screen previewer (dviscr)
vs screen previewer (dviscrs)
vp screen previewer for Presentation Manager (dvipm)
prthplj
printer driver (dvihplj: HP LaserJet+, 300 DPI)
prthpljh
printer driver (dvihplj: HP LaserJet IV, 600 DPI)
prtp6l printer driver (dvidot p6l: P6 with 180 DPI)
prtp6m printer driver (dvidot p6m: P6 with 360x180 DPI)
prtp6h printer driver (dvidot p6h: P6 with 360 DPI)
prtfx printer driver (dvidot fx80: EPSON FX-80)
prtfxl printer driver (dvidot fx80l: EPSON FX-80, draft)
prtlql printer driver (dvidot lql: EPSON LQ, 180 DPI)
prtlqm printer driver (dvidot lqm: EPSON LQ, 360x180 DPI)
prtlqh printer driver (dvidot lqh: EPSON LQ, 360 DPI). Note: not
all LQ printers support 360 DPI
prtsty printer driver (dvidot sty800: EPSON Stylus 800)
prtitoh
printer driver (dvidot itoh: C.ITOH 8510A)
prtaiw printer driver (dvidot aiw: Apple Imagewriter)
pcxlj create graphics files (parameters: lj.cnf)
pcxp6l create graphics files (parameters: p6l.cnf)
pcxp6m create graphics files (parameters: p6m.cnf)
pcxp6h create graphics files (parameters: p6h.cnf)
pcxfx create graphics files (parameters: fx.cnf)
pcxito create graphics files (parameters: ito.cnf)
If you have a version of DOS prior to 3.3, then you should change
the first line of these batch files from
@echo off
to
echo off
The batch files v.cmd, v.bat and vs.bat are preconfigured to use
the configuration file lj.cnf (LJ fonts). vp.cmd is preconfigured
to use the configuration file p6l.cnf (P6L fonts). To use a
different configuration file, change the batch files or give the
name of the configuration file on the command line, for instance:
v @p6l.cnf mytext
If you don't have the correct fonts for a printer driver, you can
in some cases (marked * in the following table) use other fonts by
scaling these. This results in some loss of quality. When using
dviscr or dvipm, better enable gray scaling. Example: Use
@p6m.cnf +zoom-x:2
instead of
@p6l_p6m.cnf
for dviscr and dvipm. The following configuration files are
available:
File name │ Resolution │ Fonts │ Font resolution
─────────────┼────────────┼───────┼────────────────
bj.cnf │ 360 │ BJ │ 360
fax.cnf │ 204x196 │ FAX │ 204x196
fx.cnf │ 240x216 │ FX │ 240x216
ito.cnf │ 160x144 │ ITO │ 160x144
lj.cnf │ 300 │ LJ │ 300
ljh.cnf │ 600 │ LJH │ 600
mxl_fx.cnf │ 120x72 │ FX │ 240x216
p6h.cnf │ 360 │ P6H │ 360
p6l.cnf │ 180 │ P6L │ 180
p6l_p6h.cnf *│ 180 │ P6H │ 360
p6l_p6m.cnf *│ 180 │ P6M │ 360x180
p6m.cnf │ 360x180 │ P6M │ 360x180
p6m_p6h.cnf *│ 360x180 │ P6H │ 360
The configuration files marked * use scaled fonts, see
+font-scaling.
To use the executables which exploit the numeric coprocessor, add
the character `7' to the program name used in the batch files.
To use the coprocessor version of dviscr, for instance, replace
dviscr with dviscr7 in v.bat (or v.cmd). Of course that won't
work unless there is in fact a coprocessor (such as 8087 and
80387) installed in your computer.
7. Adjust the margins. Refer to the description of the +left-margin
and +top-margin options for the method for adjusting margins. You
should insert the settings into the appropriate batch files, not
into the configuration files as the margins depend on the printer
not on the fonts.
8. If you are using a NEC P7, EPSON FX-100 or another wide printer,
change the batch files prt*.cmd and prt*.bat for the bigger paper
width. Replace fx80 with fx100, replace p6l, p6m and p6h with
p7l, p7m and p7h, respectively, replace lql, lqm and lqh with
lqwl, lqwm and lqwh, respectively.
9. To print the dvidrv manual, install the DVIDRVMA package and read
the instructions in dvidrvma.doc. Warning: Do not print the
manual, it's entirely out of date.
10. After moving and resizing the dvipm windows, save the settings.
9 Explanation of warning and error messages
===========================================
When you get the error message `[cannot open dvidrv.err]', the file
dvidrv.err (which contains the messages) couldn't be found. You'll
find the text of the message in this list using the message number
produced by the driver.
9.1 Warning messages
--------------------
If the verbosity, see +verbosity, is set to a lower number than that
given in brackets, then that warning message will be suppressed.
If the warning message is marked with [F] then the warning is sup-
pressed when the option +font-load-limit:-1 is chosen.
If the warning message has a driver name in brackets then it applies
only to that driver.
#1 and #2 stand for variable fields in the message.
All warning messages have the format
Warning 1xxx: ...
In the following only the number and the message are given.
1000: argument `#1' of option `#2' is not a valid number
The numeric argument #1 of the option #2 is not valid for the op-
tion or an unacceptable size is given in response to a prompt for
a font file name.
1001: invalid number or unit of measure in argument `#1' of option `#2'
The argument #1 of the option #2 is an illegal number or the unit
is not acceptable. Note that you have to enter units using lower
case letters.
1002: argument `#1' of option `#2' is too long
The argument #1 of the option #2 is too long.
1005: argument `#1' of option `#2' is not a valid page number
The argument of +first-page or +last-page isn't acceptable.
1008: ambiguous option: #1. Matching options are:
The input #1 is ambiguous: there is more than one option matching
your input #1. A list of all matching options is displayed.
1009: unknown option: #1
The option #1 does not exist.
1010: argument `#1' of option `#2' is not a valid unit of measure
The option +unit or +ruler-unit is given with an unacceptable or
misspelt unit, #1. Acceptable units are pt, pc, in, bp, cm, mm,
dd, cc, sp and px. You have to use lower case letters.
1016: output file name ignored due to error in input file name
The input file was not found. To avoid the output file name to be
taken as input file name, the output file name has been ignored.
1017: too many file names: `#1'
There are too many arguments which do not begin with `-', `+' or
`/' and are therefore taken to be file names. Depending on the
driver, only 1 or 2 file names can be given. You can give 1 file
name for the previewers (dviscr, dvivik and dvipm). You can give
1 or 2 file names for the printer drivers dvidot and dvihplj.
Note that you must not insert blank spaces between the name of an
option and the argument of that option.
1018: input file `#1' not found: #2
The DVI file #1 cannot be found. DVI files are sought using the
template set with the +dvi-file option. The default (without
using a configuration file) is to search the current working di-
rectory. The configuration files that come with dvidrv cause DVI
files to be sought in the current working directory and in all
directories listed in the DVIDRVINPUT environment variable. #2
gives the reason for the failure to open the file.
1019: cannot create output file `#1'
The output file cannot be opened: the file name is invalid, the di-
rectory doesn't exist or you don't have write access to the direc-
tory or the output file already exists and has read-only mode.
1020: template too long
The template argument to an option is too long. Templates may
contain up to 127 characters.
1021: missing template
A template must be given to some options. Note that you must not
insert blanks between an option and its argument.
1022 environment variable `#1' contains whitespace
The value of the environment variable #1 contains space or tab
characters. To avoid problems, you should edit the SET statement
used for setting that environment variable.
1023: cannot nest response files
A response file cannot contain calls to other response files.
1024: response file `#1' not found
The @responsefile cannot be found. Response files are sought
using the template set with the +response-files option. The de-
fault is to search the current working directory and the `data'
subdirectory of the emTeX directory. Set the EMTEXDIR environment
variable to define the emTeX directory, which is `\emtex' by de-
fault. There is no default extension for response files. Note
that the configuration files that come with the drivers have names
ending in `.cfg'.
1025: argument `#1' of option `#2' is invalid
The argument #1 of option #2 is not valid.
1026: +section-count overrides +section-size
If both +section-count and +section-size are used with a non-zero
value and the values don't match, +section-count takes precedence
over +section-size.
1100: preamble data doesn't match postamble data: [2]
pre.#1=#2, post.#1=#3
The value #1 in the preamble differs from the value in the
postamble. Has somebody been meddling with this DVI file? The
value given in the preamble will be used.
1200: checksum does not match [2,F]
font file #1: #2
input file #3: #4
The font file #1 does not match the TFM file.
1201: wrong design size [2,F]
font file #1: #2
input file #3: #4
The font file #1 does not match the TFM file.
1202: wrong magnification [2,F]
font file #1: #2
input file #3: #4
The font file #1 does not match the TFM file.
1203: character #1: pixel width off by #2 [3,F]
The width of the character #1 (decimal) differs from the width
calculated from the TFM file by more than 3, namely by #2 (always
a signed number). If #2 is positive then the pixel width is the
larger, if #2 is negative then the TFM width is the larger. This
warning appears usually when the font file does not match the TFM
file used by TeX, in particular, when the font is loaded with the
wrong magnification.
1204: `#1' is not a usable font file [3]
In searching for a font file, the file #1 has been found. This
file, however, does not look like a font file. After issuing the
warning, the next step in the search, described above, is taken.
1205: font #1 [#2] not found
No suitable file for font #1 can be found. For further
explanation see `Font search rules'. See also the installation
instructions.
1206: +batch-mode: font #1 replaced by #2 [1]
While +batch-mode was active, font file #2 has been used for font
#1 as a suitable file cannot be found.
1207: cannot open font library file `#1'
A font library file (see +font-libraries option) could not be
found. Maybe you have given too many names (be careful with
$env:!).
1208: font #1 replaced by #2 (deviation: #3%) [1]
The size of font #1 has been replaced by the closest available
font size by applying +font-size-tolerance and +font-sizes. The
deviation of size is #3%.
1209: do you want to call MFjob to generate #1 missing fonts now?
#1 have been marked to be generated. You can choose to call MFjob
and METAFONT to generate those fonts, but that can take some time.
To generate the fonts, type Y. To view or print the document
using replaced fonts, type N. To get a list of the fonts to be
generated, type ?.
1210: #1 is not a usable TFM file
The file #1 is not a TFM file.
1211: font #1 not loaded -- output will be distorted
Font #1 was not loaded as /d has been given for that font in a
font substitution file or as you have entered /d. The positions
of other objects are wrong because characters from this font are
omitted entirely.
1212: TFM file for font `#1' not found
You have told the driver to use TFM files and the driver could
not find a TFM file for font #1. The word space parameter, which
is used for rounding pixel positions, will be estimated by the
driver. See +tfm-files and +use-tfm-files.
1213: font file `#1': PXL file formats are obsolete, use PK instead
As the PXL file formats are obsolescent, you should use PK files
instead of PXL files. If you have the METAFONT sources for the
font or can otherwise recreate the font with GFtoPK, you should do
so. Use PXtoPK only if there is no other way for creating a PK
file for the font.
1300: `#1' is not a usable graphics file
When searching for a graphics file, the file #1 has been found.
This file is, however, not a valid graphics file. After this
warning has been issued, the search will continue according to the
rules described above.
1301: graphics file #1 (graph #2; #3 DPI) not found
The graphics file #1 cannot be found -- the command is
\special{em:graph #2}.
1302: graph #1 omitted [1]
The picture #1 is not printed because you have entered /d.
1303: +batch-mode: graphics file #1 (#2 DPI) not found [1]
The graphics file #1 with a resolution of #2 DPI was not found and
-- due to +batch-mode -- omitted.
1400: undefined point: #1
The point #1 is not defined though it is used in
\special{em:line}. Define all points used in \special{em:line}
commands.
1401: duplicate point number: #1
The point #1 has been declared more than once in a
\special{em:point #1}. Point numbers have to be unique for each
page.
1402: bad line omitted: #1,#2
The line with the endpoints #1 and #2 cannot be drawn. For in-
stance, horizontal lines cut horizontally cannot be drawn.
1403: missing moveto
A \special{em:lineto} has appeared without a preceding
\special{em:moveto}.
1500: printer not ready. R)etry or A)bort?
The printer is not ready. Type an `A' to abort the run, `R' to
try again after fixing the problem (for instance, lack of paper).
(Used only with +xon-xoff:on and LPT1 to LPT4.)
1501: 1 warning message was not displayed in graphics mode [dviscr,dvivik]
1502: 1 warning message was not displayed in graphics mode, see #2
1503: #1 warning messages were not displayed in graphics mode
1504: #1 warning messages were not displayed in graphics mode, see #2
There were #1 warning messages while the display was in graphics
mode. Please check the transcript file #2 for warning messages.
9.2 Fatal errors (2xxx)
-----------------------
All fatal errors have the format
*** Fatal error 2xxx: ...
In the following only the number and ... will be shown.
2000: out of memory
There is not enough memory to run. Further information is given
showing how much memory was used by what. In some cases, this error
can be prevented by using +font-load-limit:-1.
2001: cannot open #1 file `#2'
File #2 not found.
2002: cannot create file `#1'
The file cannot be opened: the file name is invalid, the directory
doesn't exist or you don't have write access to the directory or
the output file already exists and has read-only mode.
2003: cannot write to file `#1'
While writing to #1 an error was noted; a possible reason for this
error is that the disk is full. If #1 is a device such as PRN,
see help.eng for help.
2004: invalid scale factor
A font or virtual font is bad.
2005: cannot use XON/XOFF flow control
XON/XOFF flow control cannot be used as the port does not exist.
2006: serial interface time-out
When using the XON/XOFF flow control, 60 seconds has elapsed since
an XOFF was received without an XON.
2007: out of string space
Internal table overflow, no remedy possible (besides trying to
print the text in smaller chunks).
2008: cannot open temporary file `#1'
The drivers use (due to lack of memory) a temporary file, which
couldn't be opened. Change the TMP environment variable.
2009: temporary file write error (disk full?)
Out of disk space for temporary file or some other problem. By
setting the TMP environment variable move the temporary file to a
drive with enough storage space.
2010: printer not ready, aborted by user
You entered `A' after receiving warning 1500.
2011: cannot read from console
You have started the driver (under OS/2) using detach or you have
entered Ctrl-Z or the driver cannot read from standard input for
another reason.
2012: out of virtual memory
More virtual memory is required than the driver can manage.
2013: cannot read file `#1'
An error occurred while reading file #1.
2014: cannot make book due to missing or wrong parameters
If +page-list-file is used, +section-count and +section-size
must not be used. If +section-count or +section-size are used,
+columns must have an even value.
2015: recursive search: too many directories
The number of directories which can be handled by the drivers for
the ! and !! suffixes in environment variables used by $ENV: in
templates is limited. That limit has been exceeded.
2100: corrupt DVI file (undefined font)
2101: corrupt DVI file (no font selected)
2102: corrupt DVI file (DVI file ended prematurely)
2103: corrupt DVI file (position stack overflow)
2104: corrupt DVI file (position stack underflow)
2105: corrupt DVI file (bad postamble)
2106: corrupt DVI file (postamble not found)
2107: corrupt DVI file (illegal command in postamble)
2108: input file is not a DVI file
2109: corrupt DVI file (unexpected set_char command)
2110: corrupt DVI file (unexpected fnt_num command)
2111: corrupt DVI file (unexpected bop command)
2112: corrupt DVI file (unexpected eop command)
2113: corrupt DVI file (unexpected rule command)
2114: corrupt DVI file (unexpected motion command)
2116: corrupt DVI file (unexpected post_post command)
2117: corrupt DVI file (unexpected pre command)
2118: corrupt DVI file (invalid command)
2119: corrupt DVI file (back pointer does not point to bop)
2120: corrupt DVI file (more pages than claimed in postamble)
Bad DVI file.
2121: character number #1 out of range
An attempt is being made to set a character with a code outside
the acceptable range (0-255).
2122: page too complex
A side may contain up to 65536 objects (characters, rules, lines,
pictures). You have succeeded in exceeding this limit.
2124: too many points
You have exceeded the maximum number of \special{em:point},
\special{em:moveto}, or \special{em:lineto} commands per page.
2125: too many lines
You have exceeded the maximum number of \special{em:line},
\special{em:moveto}, or \special{em:lineto} commands per page.
2126: IVD files not supported yet
The current version of the drivers cannot handle IVD files. Use
ivd2dvi to convert the IVD file into a DVI file. Alternatively,
use TeX--XeT instead of TeX-XeT.
2131: erroneous \special{#1}: undefined keyword
After `em:' there is a unknown keyword in \special argument #1.
2132: erroneous \special{#1}: bad parameter
The \special declaration #1 an unacceptable parameter (for in-
stance, \special{em:point 0}).
2200: +batch-mode: font #1 not found
If +batch-mode is active and when a font cannot be found after all
the search rules have been tried, the program terminates with this
message.
2201: font file error PK01
2202: font file error PK02
2203: font file error PK03
2204: font file error PK04
Bad PK font file.
2205: font #1 too big (#2 characters)
This font has too many characters.
2206: character number #1 not supported
This version of the driver can only handle character codes from
0 to 255; a character with a code outside this range has been
encountered.
2207: font file `#1' ended prematurely
Bad font file: too short!
2208: font file `#1' disappeared
The font file #1 cannot be opened although it was there initially.
Perhaps the diskette has been swapped.
2209: undefined character #1 in font #2
Trying to use a character which is not in the font file.
2210: character too big
A character is too big.
2211: character too big for scaling
A character is too big to scale (!)
2213: `#1' is not a font library file
The file selected by the option +font-libraries is not a font li-
brary file.
2214: use `fontlib /2 /b#1 #2' to convert font library
The font library file #2 must be converted to the new font
library format by using fontlib. You should also use the
/f\emtex\data\fontlist option when running fontlib. The batch
file newfonts.bat and newfonts.cmd can be used for converting all
the font libraries.
2215: cannot run MFjob, error code=#1
The driver cannot run mfjob.exe.
2216: MFjob failed
MFjob reported an error.
2217: cannot handle more than 255 fonts
The number of fonts is limited to 255.
2220: TFM file `#1' corrupted
The TFM file #1 is bad.
2301: graphics file `#1' ended prematurely
Bad graphics file: too short!
2302: graphics image too big
The picture is too wide.
2303: graphics image too big for scaling
The picture is too big to scale (!)
2400: syntax error in font substitution file `#1', line #2
Line #2 in the font substitution file #1 has an error.
2401: missing parameter file name [dvidot]
dvidot expects the name of a parameter file as its first argument.
2402: parameter file `#1' not found [dvidot]
dvidot cannot find the parameter file #1. The first argument on
the command line must be the name of a parameter file.
2403: invalid parameter file (#1) [dvidot]
#1 is a number showing the type of error found.
2404: incompatible parameter file, use makedot to convert [dvidot]
The parameter file cannot be used with this version of dvidot.
Use makedot for converting the parameter file. See makedot.doc
for details.
2405: expression evaluation stack overflow [dvidot]
Bad parameter file: there's too complex an arithmetic expression.
2406: cannot compute checksum beyond end of header [dvidot]
Bad parameter file: the checksum has to be computed for bytes
outside the header.
2407: output file doesn't allow random access [dvidot]
Computing the checksum requires reading the output file.
Therefore you cannot send output to a device.
2408: cannot read output file [dvidot]
There was an error while reading the output file for computing the
checksum.
2409 cannot perform vertical motion (#1 dots) [dvidot]
An attempt was made to perform a finer vertical motion than
allowed by the parameter file's value of VMU=. This should not
happen because makedot rejects invalid settings of VMU=.
2410: invalid page dimensions
The values of +width or +height are too small or too big.
2501: printer memory overflow [dvihplj]
Calculation shows that the printer's memory is now full. Set the
+memory option to the correct value or split the text into smaller
pieces. (+clear-fonts:1 may help.)
2502: too many fonts per side [dvihplj]
There are more fonts required on this page than the printer can
handle -- split up the text or use +clear-fonts:1. You can use
the +fonts-per-side option to set the number of fonts per side
supported by your printer or to disable checking the number of
fonts per side.
2503: too many fonts [dvihplj]
There are more fonts required in the text than the printer can
handle -- split up the text or use +clear-fonts:1. You can turn
off checking the number of fonts by using the +fonts-per-side:0 op-
tion.
2504: value field in pcl: specification too long
The maximum length for a PCL font selection string in a font
substitution file has been exceeded.
2511: page width exceeds #1px
The width of the page set by the +width option may not exceed
(converted) #1 px.
2520: graphics mode not supported [dviscr]
There is no graphics adapter card or the card present is not
supported by this driver. Perhaps the graphics adapter card is
supported by dviscr but dviscr doesn't correctly identify the
card. Please try to tell dviscr about the adapter type by using
the +adapter option (for instance, +adapter:16 for a VGA with a
color display).
2602: corrupt VF file (premature end of DVI commands)
2604: corrupt VF file (stack underflow)
2608: corrupt VF file (bad preamble)
2611: corrupt VF file (unexpected bop command)
2612: corrupt VF file (unexpected bop command)
2616: corrupt VF file (unexpected post_post command)
2617: corrupt VF file (unexpected pre command)
2618: corrupt VF file (invalid command)
2621: corrupt VF file (unexpected fnt_def command)
2622: corrupt VF file (unexpected post command)
2643: corrupt VF file (invalid command)
Bad VF file.
2603: VF file too complex: stack overflow
A virtual font can use a further virtual font which can, in its
turn, use a further virtual font, and so on. This error message
is issued when this nesting is excessive or is in an endless loop.
2640: input stack overflow
A virtual font can use a further virtual font which can, in its
turn, use a further virtual font, and so on. This error message
is issued when this nesting is excessive or is in an endless loop.
2641: input stack underflow
Bad VF file.
2644: character number #1 out of range
A character code in a VF file is unacceptable.
2645: virtual font #1 too big (#2 characters)
The virtual font #1 contains too many characters.
2701: #1(#2): syntax error in page list file
There's a syntax error in line #2 of file #1 given by
+page-list-file.
2702: #1(#2): page index out of range
A page index given in line #2 of file #1 given by +page-list-file
is too small or too big.
9.3 Internal errors (3xxx)
--------------------------
All internal errors have the format
*** Internal error 3xxx
or
*** Internal error 3xxx: ...
If an internal error occurs, please tell the author. Please make
copies of all files in use (DVI, MSP, PXL, PK, FLI, VF, SUB, log
files) and make a copy of the error message. Please also make a note
of the arguments used.
10 History
==========
Items marked with `***' are VERY IMPORTANT!
Version 1.4e (internal)
-----------------------
- The number of objects on a page now limited to 65536 (this reduces the
number available under OS/2 but increases the number under DOS).
*** Temporary file, environment variable TMP.
- New warnings and error messages (dvidrv.err changed).
- Error message when there are too many lines corrected (\special).
- Warning 1203 now appears only when there is a difference of at least
4.
- dvivik repaired.
- %r, %s and width (1..8) as well as $r and $s:
{%$}[<width>]<item> (but see 1.4f)
- dvihplj: /pi* truncated Esc sequence (corrected).
- dvihplj: /2p double sided (on LaserJet IIID), also with /nf# and /np#.
- dvivik: scrolling (if it doesn't work: /!400).
- dviscr: EGA monochrome mode now works with 64KB EGA.
- /n#, /k#, /nf#, /np#: range extended to 65535.
- Up to 65535 input pages (was 1364).
- Ends in line input if Ctrl-z is input or the process is detached.
Version 1.4f (internal)
-----------------------
*** Options /pf, /pl, /pi, /p@, /pg and /pv now use templates instead of
lists of directories.
*** @r and @Vr replace $r and $s, possibilities extended.
*** Argument evaluation can no longer accept environment variables in the
form %env%, so templates now include $env:
- Comments beginning with % can now only appear at the beginning of an
argument, that is, at the beginning of a line or after a space
character.
- dvidot can now handle more than one VF directory (was an error)
*** Default value for /pf* changed: now \texfonts instead of \emtex.
*** Font searching completely rewritten.
- Missing font libraries now cause a warning message rather than a fatal
error with program termination.
*** DOT files brought into line with the new /pf* syntax.
*** CNF files brought into line with the new /pf*, /pd*, /pg* and /pl*
syntax.
- The page numbers on /b* and /e* were somewhat limited, limit removed.
- ':' and ':=' can now be used with /b* and /e*.
- /fdx# and /fdy# for different vertical and horizontal max_drift
depending on the transformation.
- /rf0 and /rg0 now possible, enabling /r# take over.
- dviscr/dvivik: /fd1 is now the default instead of /fd2.
- /mh is now the same as /m1095.445115, not /m1095
*** Templates for /po*, /pt* and /pw* (only the first expansion used).
*** Templates for /pi* and /ps*, more than one file now possible.
- Minor small errors (with unknown effects) removed.
Version 1.4g (internal)
-----------------------
- Problem (introduced in version 1.4f) with input longer than default
value for +height, /w#, /la# and /ta# fixed.
- Note: definition of @s changed.
- Date in transcript file fixed (defective since version 1.4f).
- LOG_NAME= in all DOT files changed from `dvidot' to `dvidot.dlg'
(defective since version 1.4f).
Version 1.4h (internal)
-----------------------
- DVI files using font numbers greater than 127 could not be processed
(message 2100). Fixed.
*** Support for DOS switch character.
- dviscr: gray scaling with /oa5 now possible.
- CNF files: /pg* changed.
Version 1.4i (internal)
-----------------------
- /pg* default setting fixed.
- The checksum in the header of a MSP file will be ignored.
- `I' in templates replaced by `T'.
Version 1.4j (internal)
-----------------------
- dviscr: relative sheet number with <G>.
- EMTEXSWCHAR environment variable.
- dvihplj: problem with PCX files fixed.
- \special{em:point} syntax extended.
- New previewer: dvipm for OS/2 Presentation Manager.
Version 1.4k (internal)
-----------------------
- dvipm: closing the message window stopped dvipm. Fixed.
- dvipm: Zoom dialog.
- dvipm: menus improved.
- dvipm: Edit menu: Reverse.
- dvipm: Search menu: Find text.
- dvipm: Search menu: Again.
- Bug in options parser fixed.
- New option: /ft# (font size tolerance).
*** Options renamed:
/2* -> /d* double-sided printing
/+ -> /oi- black on white
/- -> /oi+ white on black
/p@ -> /pr* template for response files
Version 1.4l (internal)
-----------------------
- \special{em:graph} can insert BMP files.
- Several bugs (of version 1.4k) in options parser fixed.
*** `:', `=' or `:=' must be used between an option and its value.
*** /oc# option of dviscr temporarily disabled.
Version 1.4m (internal)
-----------------------
- /oc# option of dviscr enabled (see 1.4l).
- `:', `=' or `:=' not required between an option and its value (see 1.4l).
- Further bugs in options parser fixed.
- Long names for options (not documented yet).
- Error messages fixed (bug introduced in version 1.4j).
- dvihplj: problem with PCX files fixed.
- dviscr: <F5> and <F6> for selecting previous / next page.
- Searching fonts in FLI files fixed (bug introduced in version 1.4k).
- dviscr speeded up for /ox:1 and /ox:6.
*** New rounding algorithms, please thoroughly check positioning of
characters and rules, report problems as soon as possible.
- dvidot/dvihplj: pause for changing paper (/op+).
- dvidot/dvihplj: close output file after n sheets (/os#).
- dvipm: File menu: Print page (not tested).
- dvipm: File menu: Change printer.
- dvipm: window titles fixed.
- dvipm: unavailable transformations are grayed (View menu).
- dvipm: choosing View->Select now correctly deselects the previous
selection.
- dvipm: Cancel buttons in (almost) all dialogs.
- dvipm: action bar in Message window.
- dvipm: only one entry in task list.
- dvipm: hourglass mouse pointer while building a page or searching
for text.
- dvipm: Find page by number fixed.
- dvipm: when starting dvipm, the View window will be selected.
- dvipm: Ctrl+PageUp and Ctrl+PageDn fixed.
- dvipm: Ctrl+Arrow keys to move by 8 units.
- dvipm: two icons in the title bar: previous page, next page.
- dvipm: scroll bar problems fixed.
- dvipm: Status window.
- dvipm: gray scaling.
- dvipm: window positions saved by dvipm 1.4k or older will be ignored.
- dvipm: restore position of Input window.
- dvipm: save and restore settings of `track' choices.
- dvipm: menus restructured.
- dvipm: View menu: Home.
- dvipm: /hx#, /hy#.
Version 1.4n (internal)
-----------------------
*** @r in templates now inserts a decimal fraction; use @Rr to round to an
integer.
*** dvimsp has been replaced by dvidot.
*** Old DOT files must be converted by calling `makedot -r <filename>'. The
DOT files coming in the DVIDRV package can be used without conversion.
See makedot.doc.
*** The new option /cs# must be used for `changing margins'.
*** New /ft# default value: 0.2.
*** The format of the text format of dvidot parameter files has changed. See
makedot.doc
*** New emdll1x.dll, don't forget to replace old version!
- Long names for options. The names are preliminary.
- /ft# for PK and PXL files.
- /fz* (available font sizes).
- Check version number in dvidrv.err.
- Templates implemented completely.
- dvimsp (that is dvidot now): bug fixed (empty sheets with /om+ didn't
work).
- dvipm: Minimize/Restore problems fixed.
- dvipm: Quit pushbutton in Input dialog.
- dvipm: Font dialog.
- dvipm: Image dialog.
- dvipm: Open dialog.
- dvipm: Options menu.
- dvipm: /oi+, /og#.
- dvipm: bugs fixed (View->Home with scaling, changing scale while
computing).
- dvipm: the page will be centered in the View window if the page is
smaller than the View window.
- dvipm: background color settable.
- dviscr & dvipm: <F7> and <F8> for selecting previous / next page
(instead of <F5> and <F6>).
- Bug fixed: file names were not truncated to 8.3 (since what version?).
- Missing fonts can be generated automatically with MFjob 1.1i or later.
- \special{em:graph} does no longer ignore the directory part of the
file name (I think since 1.4f).
- dvidot: double-sided printing with /d:p.
Version 1.4o (internal)
-----------------------
*** dvihplj: /od+ and /ok+ replaced with +deskjet, +kyocera and +laserjet.
*** Short form of +pause renamed /oa+.
*** New emdll1x.dll, don't forget to replace old version!
*** Additional DLL: emdll1x2.dll
- dvidrv.exe fixed.
- TFM files can now be read, see +tfm-files.
- Replacing characters with black rectangles (scaling active) fixed.
- dviscr/dvivik: display W in the status line when there are warnings
while in graphics mode.
- Use EMS under DOS, see +use-ems.
- Slightly more lines per sheet possible.
- dvihplj: new options: +full-page-bitmap, +optimize-graphics,
+compression, +negative-top-offset.
- Bug fixed: -x and -y was ignored with long form of options.
- dviscr: VGA monochrome now works under DOS.
- dvipm: the next/prev page icons in the title bar have been
improved (for VGA).
- dvipm: accelerators in dialog boxes.
- dvipm: modify VGA palette.
- dvipm: Minimizing problem with Workplace Shell fixed.
- dvipm: in rare cases, some pixels at the right hand side of rules
were wrong.
- dvipm: collapse subsequent requests for page recomputing.
- dvipm: Select/Copy problems fixed.
Version 1.4p (internal)
-----------------------
- Screen output of dviscr with color EGA/VGA without gray scales was
defective since version 1.4o. Fixed.
- Use XMS under DOS, see +use-xms.
- When aborting a driver by pressing Ctrl-C or typing A)bort in response to
an error message, the temporary file will be deleted and EMS and XMS
memory will be deallocated.
- dvihplj: new option: +fonts-per-page.
- New dvidot parameter file: bmpos2 for creating OS/2 1.1 BMP files.
- You can use OS/2 1.1 BMP files with \special{em:graph}.
- dviscr: VGA monochrome may work now under OS/2.
- dvidot: parameter files lq* fixed (INIT1, INIT2).
- dvipm: save open/close state of Message and Status windows with
settings.
- dvipm: the position and size of the windows saved by dvipm 1.4o or
older will not be restored by dvipm 1.4p or later. Move and
resize the windows and save the settings again.
- dvipm: printing only possible with gray scaling and reduction disabled.
- dvipm: font and Image dialog boxes fixed (bug introduced in
version 1.4o).
- dvipm: another minimizing problem with Workplace Shell fixed.
Version 1.4q (internal)
-----------------------
*** When prompted for a font name, you have to enter `/b' and `/w' instead
of `b' and `w'.
*** When prompted for a font name, you can give multiple values in one
line of input. The font will be sought after parsing the line of
input.
*** emdll1x.dll and emdll1x2.dll have been moved from \emtex to \emtex\dll.
Please change the LIBPATH statement in your config.sys file. emdll1x.dll
has been changed, don't forget to replace the old version!
- dvihplj: +reset renamed +initial-reset. New: +final-reset.
- The drivers should be faster now, however inserting graphics files and
using big characters is slower.
- Memory management bug fixed.
- Rounding problem in MFjob call fixed.
- dvidrv.exe didn't append \ to the value of TMP if required.
- dvihplj: +paintjet, +quietjet and +thinkjet (not tested).
- dvihplj: +delete-fonts (not tested).
- Omit characters (/d).
- Replace characters by rectangle outlines (/r).
- Omit graphics files (+omit-graphics and /d when prompted for name).
- Font search sequence for +batch-mode changed.
- dvidot and dvihplj: +initial-formfeed and +final-formfeed.
- Replacing a font size by the closest available font size now takes
place before seeking the font (see +font-size-tolerance). The
replacement is done immediately before and after applying the rules
from the font substitution files.
- +max-drift is set in the configuration files.
- Option +use-tfm-files for using TFM files.
- dvihplj: +compression fixed.
- dvipm: please delete \emtex\help\dvipm.hlp.
- dvipm: help is now also available partly in German.
- dvipm: display page number and index in Status window while
searching for text.
- dvipm: Page index optional in Status window.
- dvipm: default window positions and sizes.
- dvipm: tried to fix a palette problem.
- dvipm: display cursor position in Status window, +ruler-unit
command line option.
- dvipm: to make restoring the dvipm windows behave correctly after
minimizing under OS/2 2.0 6.177 (LA) it was necessary to make
restoring windows behave incorrectly under older revisions of OS/2
2.0.
- dvipm: preliminary implementation of the ruler.
- dvipm: the page icons in the title bar can be disabled with a
command line option.
- 21-Feb-1992 (still 1.4q): parsing of font substitution files fixed.
- 25-Feb-1992 (still 1.4q): Options->Other of dvipm fixed (error message for
Ruler unit).
Version 1.4r (11-Apr-1992)
--------------------------
*** Options renamed:
+first-sheet -> +first-page
+last-sheet -> +last-page
+skip-sheets -> +skip-sides
+number-of-sheets -> +number-of-sides
+sub-pages-per-sheet -> +sub-pages-per-side
*** New terms: `page', `side', `sheet'.
- dvipm now works under OS/2 1.2.
- You can now use TFM files with less than 6 font parameters, as they
are generates, for instance, by bm2font.
- `input [dvidrv];' is now inserted into the MFjob job file.
- dvipm: icons in the view.transform menu.
Version 1.4s (04-Nov-1992)
--------------------------
*** New version of emdll1x.dll and emdll1x2.dll. If you have copied
these files from \emtex\dll to another directory, you should copy
the new versions now.
*** dvidrv.exe is no longer used under OS/2. If you are using your own
*.cmd files, please remove `dvidrv' from those batch files.
- \emtex\doc\dvipm.doc no longer exists -- please delete old copies.
- dvihplj: +font-scaling fixed.
- dviscr, dvipm, dvivik: searching for page number fixed (for
non-trivial page selection).
- dvipm: Options->Files dialog fixed.
- dvipm: Page->First, Page->Last.
- dvipm: display page number in title bar.
- dvipm: stack overflow message fixed.
- dvipm: View menu changed.
- dvipm: Status window optionally on top of other dvipm windows.
- dvipm: zoom problems fixed.
- dvipm: File->New.
- dvipm: Drag & drop.
- dvipm: move ruler to text after finding text.
- \special{em:graph xxx}: ignore everything after comma.
- MFjob call with +font-resolution:0 fixed.
- New template parameter: @u.
- Rounding problems in MFjob call fixed.
- New dvidot parameter file: bj10eh.dot.
- +pause fixed.
- dvihplj: +printer-resolution.
Version 1.5a (09-Apr-1994)
--------------------------
*** File names which are too long are truncated according to the 5+3.3 rule,
that is, the first 5 characters and the last 3 characters of the base name
and the first 3 characters of the extension are taken. lcirclew10.pk, for
instance, is transformed into lcircw10.pk. Under OS/2, the drivers
attempt to open a file using the long file name, first. Then, the
truncated file name is used. Under DOS, only the truncated file name is
tried. If the file is not found, the 8.3 rule is applied after the 5+3.3
rule, that is, the first 8 characters of the base name and the first 3
characters of the extension are taken.
*** $ENV: in templates now supports ! and !! for recursive search of
subdirectories.
*** New version of emdll1x.dll and emdll1x2.dll. If you have copied these
files from \emtex\dll to another directory, you should copy the new
versions now. There are three new dynamic link libraries: emdll2x.dll,
dvipmres.dll and emx.dll.
*** dvipm.exe is now a 32-bit program; the 16-bit version has been renamed to
dvipm16.exe. Please delete \emtex\dvipm32.exe.
*** The settings saved by previous dvipm versions are not loaded. To delete
the old settings, do the following:
Files->Settings->Save
Files->Settings->Remove
Files->Settings->Save
*** +font-files can now be used to read VF files. +virtual-fonts is needed
only if you want to replace existing fonts with VF files.
*** The +double-sided:printer option (/dp) has been renamed +double-sided:long
(/dl). +double-sided:short (/ds) has been added.
*** The /np# option has been renamed /ns#.
*** New method for arranging pages on a sheet. The following options have
been removed:
+first-sub-page
+show-sub-pages
+sub-page-index
+sub-page-slots
+sub-page-x
+sub-page-y
+sub-pages-per-side
The following options have been added:
+backside-offset-x
+backside-offset-y
+blank-pages
+columns
+fold-other
+full-last-section
+page-height
+page-list-file
+page-shift
+page-width
+rows
+section-count
+section-size
*** The meaning of the +left-margin and +top-margin options has been changed.
The +adjust-left-margin and +adjust-top-margin options no longer exist.
The +page-left-margin and +page-top-margin options have been added.
*** Option +graphic-files renamed to +graphics-files.
*** The .DOT files of previous beta test versions can no longer be used with
dvidot 1.5a. makedot cannot directly convert between the format used by
previous beta test versions and the new format: You have to recreate your
own .DOT files from the text files.
*** New directory structure: *.cnf, *.dot, *.sub files, dvidrv.err and
fontlist have been moved to \emtex\data. The environment variable
EMTEXDIR can be used to tell the drivers where to find that directory.
$EMTEX: is used in templates to specify the emTeX directory. $PATH: is no
longer used.
*** dvihplj: Replace +deskjet, +kyocera, +laserjet, +paintjet, +quietjet and
+thinkjet with +printer-model.
*** dvipm: The +inverse option is no longer available; the setting of the
Reverse menu option is saved with the settings, instead.
*** Font substitution files are now also sought in the `data' subdirectory of
the emTeX directory; the default extension is .sub.
- When seeking a font, the drivers try all known sizes which are within the
font size.
- Support long file and blanks in file names under OS/2. To enter a file
name which contains blanks, enclose it in double quotes: `test file.dvi'.
- dvipm: File->New closes the DVI file. Really.
- dvipm: `What dialog' renamed `Status Window Options'.
- dvipm: Display information on an object in the View window double
clicking on the object.
- dvipm: +titlebar-icons (/ot+) option removed.
- dvipm: Internal error 3028 when switching DVI files removed.
- dvipm: Several palette problems fixed. 8514/A palette can now be changed.
- dvipm: Fonts are reused when opening a new DVI file.
- dvipm: File->Reload tries to keep the selected page.
- dvipm: Automatic reloading of the DVI file if it is changed by another
program.
- dvipm: Additional pushbuttons in the Font dialog.
- dvipm: Print all the pages.
- dvipm: Support display modes with more than 16383 colors (65536 colors,
for instance).
- dvipm: +gray-bitmap-size (/og#) replaced with +bitmap-memory-limit (/om#).
The default value is 512, that is, 512 Kbytes will be used for temporary
bitmaps. Therefore, much less memory is used now.
- dvipm: The meaning of the Ctrl key has been reversed for the arrow keys:
move by 8 pixels without Ctrl, by 1 pixel with Ctrl.
- dvipm: Obey +magnification when loading another DVI file.
- dvipm: New Information window which shows information about the DVI file.
(Quite preliminary.)
- dvipm: The background colors are now set in the View Options dialog box.
- dvipm.exe is now a 32-bit program; the 16-bit version has been renamed to
dvipm16.exe.
- dvihplj: The +printer-resolution:600 option now switches the printer to
600 DPI mode and selects 1/600in as unit of measure.
- dvihplj: Characters at the left margin are no longer omitted.
- dvihplj: +fonts-per-page option renamed +fonts-per-side.
- dvihplj: Disable checking of number of fonts per page and number of fonts
per job if +fonts-per-side:0 is used.
- dvihplj: Support built-in fonts.
- dvihplj: `=> pcl:' in font substitution files.
- dvihplj: \special{em:pclfile ...}
- dvihplj: New options: +download-limit and +paper.
- dvihplj: Clip graphics and rules to avoid omission by the printer.
- dvihplj: New +draft option for saving toner.
- dvihplj: Support the HP DeskJet 500J.
- dvidot: New option: +final-reset.
- dvidot: New parameter files: fx80l, fx100l, sty800 and bj300h.
- dvidot now supports printers where the graphics resolution exceeds the
resolution of paper motion.
- dviscr: Under OS/2, dviscr now automatically treat an SVGA as VGA.
- dviscr: +adapter:20 added (Adapter Interface, 8514/A).
- New configuration files: ljh.cnf (600 DPI with LJH fonts), bj.cnf (360 DPI
for Canon BubbleJet printers).
- New batch files: prthpljh.cmd and prthpljh.bat for the HP LaserJet
IV at 600 DPI.
- New METAFONT mode in local.mf and modes.mfj: canonbj.
- Internal error 3028 while reading VF files fixed.
- New options: +page-list-file, +section-count and +section-size.
- Don't display warning message 1201 for DVI files created by groff.
- Big characters can now be transformed (rotated).
- Add +call-mfjob option (/fj+). Under OS/2, this option is used to
disable the automatic call of MFjob.
- texput.dvi is no longer used if the answer to the question for an input
file is empty.
- \special{em:message} has been removed.
- The dvidrv documentation is now available as OS/2 on-line book.
Version 1.5b (21-Jun-1994)
--------------------------
- Executables which exploit the numeric coprocessor are now included.
- For +font-load-limit:-1, dvihplj 1.5a used TFM files for missing fonts
even if the TFM files were not for built-in printer fonts.
- dvihplj has new options for selecting the paper source: +source and
+manual-feed.
- Transformation of big characters with +transformation:3 or
+transformation:6 caused internal errors or crashes.
- dviscr did not accept the +ruler option.
- dviscr did not completely suppress the status line for +status-line:off
- Input and output now works even if running a driver under Emacs under
OS/2.
- Rules protruding over the top edge of the paper are no longer omitted in
gray scaling mode; other objects, however, are still omitted. This also
applies to dvidot and dvihplj.
- dvidot: TRAILER is now written at the end of the file.
- dvipm: Pictures were sometimes mirrored.
Version 1.5c (22-Jul-1994)
--------------------------
- Several bugs have been fixed.
- Due to a bug, the directory ".." was not allowed in path names.
- Files with names that contain two or more dots can no longer be read and
written under DOS.
- dvipm: Optionally reload all fonts when loading a DVI file; doing this is
recommended after creating new font files with bm2font.
- dvipm: File->Print_all_pages works now.
- dvidrv.exe: Pass -pj:filename instead of -pj=filename to the program; this
enables usage of batch files.
Version 1.5d (30-Aug-1994)
--------------------------
- Warn about usage of PXL files. The PXL file formats are obsolete.
- Warn about whitespace in environment variables used by templates.
- +backside-offset-x and +backside-offset-y are now also defined for
+double-sided:even and +double-sided:odd.
- dvipm: Ask for confirmation before printing when the printer resolution
does not match the resolution used by dvipm.
- dvipm: You can now copy from the Messages window to the clipboard.
- dvipm: `Change printer' has been renamed to `Print options'. There are
new settings available.
- dvipm: Several printing problems solved.
- dvipm now checks whether the correct version of dvipmres.dll is installed.
Version 1.5e (01-Sep-1994)
--------------------------
- dvidot 1.5d could not use old DOT files (created by makedot 1.2b or
lower).
- Gray scaling did not work in dvipm 1.5d.
Version 1.5f (14-Sep-1994)
--------------------------
- The drivers no longer crash for `EMM386 FRAME=NONE'.
- dvipm now switches to the original size and turns off reverse display for
printing.
- In dvipm, the Page Down and Page Up keys optionally display the next or
previous, respectively, page when invoked at the end or beginning,
respectively, of a page.
- The Options menu of dvipm is now also available while a DVI file is
loaded.
- More printing problems of dvipm have been resolved.
-------- End of DVIDRV.DOC -------------